diff --git a/cbz/contributions/math514/layer_a/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/BUILD_REPORT.json new file mode 100644 index 000000000..98b7504b0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.json @@ -0,0 +1,146 @@ +{ + "schema_version": 4, + "actual_repository_G1": "NOT_RUN", + "current_composed_receipt": "evidence/final-review-identity/current-composed-admission.json", + "current_method_inventory": 110, + "method_inventory_parts": { + "auditor_predecessor": 79, + "auditor_review_notebook_new": 9, + "harness_predecessor": 15, + "harness_identity_new": 7 + }, + "current_mutation_definitions": 68, + "review_boundary_methods_per_mode": { + "cumulative_distinct": 19, + "new_total": 9, + "affected_predecessor": 10, + "latest_notebook_new": 1, + "prior_applicable_results_reused": 18 + }, + "review_boundary_scanner_mutants_per_mode": { + "new_total": 8, + "adapted": 3, + "cumulative_killed_definitions": 11, + "latest_notebook_new": 1, + "prior_applicable_kills_reused": 10, + "unchanged_definitions_reused": 57 + }, + "identity_harness_methods_per_mode": { + "normal": 19, + "optimized": 19, + "new": 7, + "affected_predecessor": 12, + "unaffected_predecessor_reused": 3 + }, + "numeric_metadata_methods_reused": 52, + "identity_safeguard_counts": { + "themes_per_tool_per_mode": 14, + "observations_this_tool": 28, + "observations_both_tools": 56, + "stages_both_tools": [ + 32, + 8, + 4, + 12 + ], + "single_final_source_campaign": false, + "production_scanner_mutants": false + }, + "new_full_G0_suite_or_CI_run": false, + "new_Lean_compiler_runs": 0, + "new_mathematical_checks": 0, + "current_tool_admission": "PASS_SCOPED_COMPOSED_SOURCE_BOUND_COMPONENT_EVIDENCE; actual repository G1 NOT_RUN", + "predecessor_evidence": { + "schema_version": 3, + "actual_repository_G1": "NOT_RUN", + "current_composed_receipt": "evidence/declaration-numeric/current-composed-admission.json", + "current_method_inventory": 94, + "current_mutation_definitions": 60, + "fresh_current_repair_methods_per_mode": { + "normal": 52, + "optimized": 52 + }, + "fresh_new_methods_per_mode": 7, + "affected_predecessor_methods_per_mode": 45, + "reused_predecessor_methods": 42, + "new_source_guard_mutants_per_mode": 3, + "reused_predecessor_mutations": 57, + "new_full_G0_suite_or_CI_run": false, + "new_Lean_compiler_runs": 0, + "new_mathematical_checks": 0, + "predecessor_evidence": { + "actual_repository_G1": "NOT_RUN", + "all_lazy_profile_generation_guard_mode_executions": 16, + "current_composed_receipt": "evidence/lazy-body-profile/current-composed-admission.json", + "current_method_inventory": 87, + "current_mutation_definitions": 57, + "current_repair_checker_mutant_executions": 0, + "current_tool_admission": "Composed finite source-bound evidence; lazy-body changed-hunk independent review clear", + "fresh_current_repair_methods_per_mode": { + "normal": 4, + "optimized": 4 + }, + "fresh_final_none_profile_grader_guard_mode_executions": 6, + "fresh_final_none_profile_grader_guard_mutations": 3, + "guard_counts_are_distinct_production_mutants": false, + "independent_review": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "independent_review_sha256": "8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933", + "initial_lazy_type_generation_guard_mode_executions": 10, + "method_inventory_parts": { + "auditor": 72, + "new_lazy_body_profile": 4, + "retained_harness": 11 + }, + "new_Lean_compiler_runs": 0, + "new_full_G0_suite_or_CI_run": false, + "new_mathematical_checks": 0, + "packaging_execution_verification_runs": 0, + "policy": "ordinary synchronous selected methods, every wraps-linked layer; exactly None normal return; no returned-object advancement", + "predecessor_evidence": { + "actual_repository_G1": "NOT_RUN", + "current_composed_receipt": "evidence/composed-admission.json", + "current_lexer_component_receipt": "evidence/lexer698-admission.json", + "current_method_inventory": 83, + "current_mutation_definitions": 57, + "current_tool_admission": "Composed finite scoped evidence; current lexer and lifecycle source reviews clear for their stated scopes", + "fresh_distinct_methods": 56, + "fresh_existing_harness_methods_per_mode": 3, + "fresh_mutants_per_mode": 19, + "fresh_new_lifecycle_methods_per_mode": 8, + "fresh_tests_per_mode": 45, + "historical_build_report": "evidence/pre-canonical698-publication/BUILD_REPORT.json", + "lexer_component_status": "PASS_AFFECTED_SCOPE", + "new_Lean_compiler_runs": 0, + "reused_historical_mutants": 38, + "reused_unchanged_auditor_methods": 27, + "schema_version": 1 + }, + "predecessor_metadata": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json", + "reused_predecessor_methods": 83, + "reused_unchanged_initial_lazy_profile_guard_mode_executions": 6, + "reused_unchanged_initial_lazy_profile_guard_themes": 3, + "schema_version": 2 + }, + "predecessor_metadata": "evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.json", + "current_tool_admission": "PASS_AFFECTED_SCOPE; independent exact-source review CLEAR", + "independent_review": "evidence/declaration-numeric/review/final-review.json", + "independent_review_sha256": "d41632dcd0e600fef55a2065b2a4bfe0ac3905c6f49414b9b960d47073d1d863" + }, + "predecessor_metadata": "evidence/pre-review-identity-metadata/BUILD_REPORT.json", + "review_boundary_source_review": "evidence/review-boundary-fix/review/SOURCE_REVIEW.json", + "review_boundary_source_review_sha256": "6c305b4cf649d7f371d19d65a8230a403e9bf730fa4043eed2418ac4eb5e8081", + "identity_review_status": "CLEAR_SCOPED_ENGINEERING", + "current_source_sha256": { + "auditor.py": "309935e125195ae8093ffeb691f9d4c16f6c69e3dbb74b453ed6d50e05be1619", + "source_checks.py": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutation_test.py": "9146cd183a8fcdc93623de20596966b118f3a9e5403d94f74f6be0fe46e4e731", + "tests/test_auditor.py": "73e0b36fe95774af04b433f2de748911625a4ed10cf9f5f46c86249f19707ddc", + "tests/test_mutation_runner.py": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818" + }, + "source_binding_status": "FINAL_ROOT_COMPOSITION_BOUND", + "identity_review": "evidence/grader-identity-fix/shared/independent-review-final.json", + "identity_review_sha256": "f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4", + "notebook_source_review": "evidence/review-boundary-fix/review/NOTEBOOK_SOURCE_REVIEW.json", + "notebook_source_review_sha256": "c2edfdb8825fe655a99963ee9fd387ce1bb34c3f85c3989755ec58b5720759d4" +} diff --git a/cbz/contributions/math514/layer_a/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/BUILD_REPORT.md new file mode 100644 index 000000000..4fb6bf7d5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/BUILD_REPORT.md @@ -0,0 +1,27 @@ +# Layer A composed build report — combined review/identity metadata + +## Current combined generation + +The combined population is 110 methods: 88 auditor methods (79 numeric-predecessor + 9 review/notebook methods) and 22 harness methods (15 predecessor + 7 new identity methods). The [review-boundary repair](REVIEW_BOUNDARY_FIX.md) cumulatively covers 19 distinct affected methods per mode: 18 applicable prior results plus the one newly checked notebook method. Its 11 affected scanner mutation definitions per mode comprise 10 applicable prior kills plus one newly checked notebook guard; 3 of those 11 are adapted legacy definitions. The 68 active scanner definitions comprise 57 unchanged, 3 adapted and 8 new definitions. The [grader identity repair](GRADER_IDENTITY_FIX.md) covers 19 distinct affected harness methods per mode by composed staged receipts and targeted refreshes (12 predecessor + 7 new); 3 unaffected predecessor harness methods retain their evidence. Identity safeguards are separate grader controls, not scanner mutations. + +The completed 52-method numeric-metadata verification remains reusable: Lean/numeric functions are unchanged, and its standard declaration population uses the supported default, no-hook loading profile. Original 18-method review results, the later one-method notebook controls, and identity refreshes remain separately bound. This is not a fresh whole-110-method, whole-68-scanner-mutant, CI, Lean or mathematical run. Current final source bindings and Root's source-partition record are in `evidence/final-review-identity/current-composed-admission.json` and `SOURCE_COMPOSITION.json` beside it. Source-bound original-review, notebook and identity reviews are CLEAR for their declared scopes; they do not authenticate the final repository inventory or scientific statements. Actual repository G1 remains NOT_RUN. Kernel/build provenance, approved axioms, pins and federation admission remain independent. Prior exact-source metadata is retained under `evidence/pre-review-identity-metadata/`. + +## Selected-declaration identity profile + +The [grader identity repair](GRADER_IDENTITY_FIX.md) freezes actual class, ordinary function and code objects before execution, including wraps-linked functions, and checks them before fixtures, at test starts, at body entry and at body completion. Module coverage comes from the actual module dictionary. Module `load_tests` hooks, callable suite factories, custom constructors/allocation/metaclasses/attribute dispatch and test-method descriptors are refused before construction or invocation. Only exact builtin staticmethod/classmethod descriptors are supported; named selectors traverse ordinary module dictionaries and static class declarations, refusing proxy/descriptor factories before lookup. Ordinary module, class and method selectors remain supported, with the existing synchronous None-return and exact assertion-provenance contracts. + +Trusted Python imports still execute. This bounded trusted-runner/source-custody profile is not a sandbox against arbitrary Python or authentication of fabricated consistent JSON. The final independent identity review is CLEAR for its exact source scope. Its 14 safeguard themes per tool in each mode yield 56 generation-bound assertion-kill observations across both tools: 32 + 8 + 4 + 12 across four source generations, not a fresh final-source 56-case campaign or production scanner/replay mutations. Earlier applicable observations and targeted refreshes remain separately bound. See `evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json`, its shared optimization/guard provenance and `shared/independent-review-final.json` (SHA256 f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4). + +## Preserved predecessor record + +The numeric-metadata predecessor composition was 94 methods (79 auditor + 15 harness), with 52 affected methods checked in both modes and 42 unaffected methods reused. Its 60 scanner definitions comprised 57 unchanged and 3 new guard mutants checked in both modes. This retained generation is `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. It was not a fresh whole-94/60 run and is not the current combined population. + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +No fresh whole-suite/G0/CI/build result is created by this package. The underlying auditor, canonical lexer, 72 predecessor behavioral methods, 15 grader methods and 57 predecessor mutation definitions are unchanged; the metadata lexer, seven new tests and three new mutation definitions are the affected runtime scope. Old lifecycle controls and body-trace receipts remain reusable under the static ordinary-None-return shape applicability assessment. Actual repository G1 remains NOT_RUN; final admission is root-owned. diff --git a/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json new file mode 100644 index 000000000..8e2fe6ed6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json @@ -0,0 +1,2979 @@ +{ + "current_composed_admission": { + "receipt": "evidence/final-review-identity/current-composed-admission.json", + "sha256": "0a5f28306f618405aeb57c8e344dab1a3bad62f305d95f7ccaada9588448a07d", + "source_bindings_status": "FINAL_ROOT_COMPOSITION_BOUND", + "raw_receipts_unchanged": true + }, + "execution_root": "/workspace/cbz-0/tools/layer_a", + "first_admission_repair_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/baseline.log", + "sha256": "035ee585bef84ad7694aa2eaadbd34cbb69e85a4f5dd56671a1ced85863fc7a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "sha256": "8fcf3b72380422db6b5dbc24114c708bba98ed5bb3b2f40c173f57f9b0bfaa3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "f699bd44c76d815cb331b1c67ff92fbdde95b741ba2338e7d952f2ec8c936982" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "sha256": "b02d37e8eb009e184ad2398d9dea0c0dbd84a7fb512d388cbf51b6f8c4578c28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "sha256": "5defe8453000b8075532997bdf321ecc97c4871fea2187ff9523779441248204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "sha256": "c44b8ff36fcf9feb5a4ad3aac21159291f9f33544d9587debc012a3daec8f674" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "a22a6ce8de8ff9ac0ffe2781555a56dad3635a1c8e9852d4f2469e3fc49ae773" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "37cb0baa00a05d3c8524bdb4499362b94fb9ac48e846d1cebbe249d3fae99d68" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "b93b1774c9399a062cf572fbe1bf8bb0e0e9a2df3d4629cd7a590d3587df7a7a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "68a620c649a7a5acf9589261cc8ff48bc3e73b67fe38c1a55bfb4d055c40f85b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "ed9b92ebbf11c7350cb5b4ac83a5d3f0bf3db1e4a8c2dd11c9e0279ca67a4743" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "sha256": "71f5eb78d9fff4be2bdc93d39db51e6bd9cc15ae7ad8cefb39d3ed5d914915b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "sha256": "4762ffe147d97bbda08d62aa931579f2d6417463b9fc6d5e06ecc39fcdeeb922" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "sha256": "ac0ab8b47cc6a1304f497972aba1671a8242adb132c3b34e6b91335af47e5c57" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "sha256": "4bbeea25373dece5b4d3acb87b2ca36516b921e9aa2147994e3c2c6ed06c96c0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "a9d0ffbdfa02fca8578b54427dd75fd94a88b013e94f31897c05797d9f627067" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "sha256": "e4d053e0c5e83d1a7ef4767825aecd97b9970b45ac43f89648ad14250cba84ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "sha256": "8a70910a54a4b99065070d00fae2a54759d31ad6c66b5037040bb1721550c56e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "sha256": "39b1b0e85321a969241316d9b44536461aeac1d4a7f8137882dbd26eceff1529" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "d1eaad42ab14edc5c389fdc23e6ed5be0487073c618b30aea97ee583203a5de2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "7cea846d09e9b5e3a108078b68c21d9bf99f6ff1d3f2a5b3a3d6f2ad1030e22f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "7bd49a32a49acf331192602ecb1bc6adad00d5781446b3e1abcba4130ca99e1d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "861755677918792b728691652430fc3882c5fa34f4e4e172038036f6799ef36f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "fe104794710a9fcc988ec00fd30cc2f0f673fec9f22096cbde41cd3bf82e0960" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "sha256": "c09ce61ced302a636076f019ec0820a0972948c9de56dae191dec7752b36b318" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "sha256": "d7a9b9db84d49725076312dda126f764663560b93d22d4fba450f0a5beb2dcaa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "sha256": "6a1648bad6a0fc958e611409335155e36f5fe755936aa5b1dd20b656511b3aa9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "sha256": "40b6d507b9249f404ee75226b35b504145dffc24c12f0eed0b198d6a2bd8dbb2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "sha256": "aa95a4514c4bc4d3174f8401b4ec749c1ff73e3de3cd77175f76af49b3f47c83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "sha256": "cb8b7c6e0250eef1abef6ac482caebb347501e7630469ebf5bcefe4689de6a77" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "sha256": "5288f1404f514632ece6db189a89c11f47b8923a632c89a8b2a7018c77cafb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "sha256": "157c43b9aba1c3467a6bd5860f28164ddc77ba029cb35121cdaa7cf0497ab44b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "1c789fe8b4a13549591f71cb087b9f7b9283001b80494edc6ac0c3e86a764f8a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "0a8e0c5cdafff4d949cd0dff33a1443f5e8b119406d81b045be591fa07d0d872" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "bbeeb6f474de7076efea92580432fd8c487cb6073fef42cb0c426ab7e5bb4500" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "sha256": "b8d8aa0c1d73aa157b9531dd820b6199d74e332dc598c709911767192c7abe15" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "sha256": "b19d8ae22eb35e50ac83d99534281453b209f0d8822fb1875318b5ee1b11fe5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "aefeb71cc2b4d1dc174bc033f2e98f16a23c1170ce95ccaba6df99094842a8f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "2e0a19abb5fd46ca0926eed2b1d558f816cc999f89ecf0a70906f32f56f11964" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "4eb19695c95a7b8b26ea9ab56b71687ffea97cd046534e27394dba21eaa51d71" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "2411d93838c00ee16f3f3b9458d36a1b203911a57e38784e855b669d080e6b11" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "7ecb303944dd9ebb226f2e492540f04969f595bd0bf678ab1eb6e2733eef5b9e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "42e30f674a6a0d4749ed93ffa21338848245cf7a289f2978a64dd5d08ceaf1ec" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "sha256": "b774c68691c606ca5b75e699055173eccf250fd1f314a22fb1a3cfe94e356cee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "sha256": "19f7934efc959b9d4cf3c9becd537c3a8789f129263e04d3645a643de9800542" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "sha256": "a44a0619efff83a4c27d539f707b940fd5fe3f32df15fd42ab9fdff4c48428c9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "ca0d569d629a4875d91dd6088440e804cbca9899027bc793d3c63f144faf5665" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f7bcb92174ec5093451ae2cc035a2f3da96f5b90aae938613701ffbe850c9df0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "sha256": "7da893fd6a392a8e9ff02db6f5eb34237dfad9ec6389b9a2f54c90a3344c0da9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "09044c473fa4937a26756325814c8b4adeb52f5d48359423983008d83a4398fa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "64e38a3a7c5ad7215a418da61cac96c666ebad04403c332327f20a5e3e847a69" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "sha256": "e658a77937a5c9e1921470bb7563caaa342294cd565d328b6a5e90d6db18abd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "sha256": "175c08d799121faabea62c0bb17adb40e426c984a631598a1e40ce3c0b438140" + } + ], + "receipt": "evidence/g0-admission-fix.json", + "receipt_sha256": "ffecf817f294d24ca1f80f21461e1023b6a19af67198f3def876205b886c6295", + "source_generation": "evidence/pre-import-literal-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", + "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_G0_027": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/baseline.log", + "sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5" + } + ], + "receipt": "evidence/g0-admission-final.json", + "receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "source_generation": "current contribution files", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", + "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_custody_limit": "Early development reused some baseline/per-mutant filenames. Exact original failed aggregate/stdout/survivor are retained; later receipt-specific final logs and all named source snapshots remain separate.", + "lazy_body_profile_successor": { + "baseline_metadata_archive_origins": [ + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json", + "source_git_blob": "7b62898cb1a90b5a48e9d3144dd82eb4513ea1e3", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.json", + "source_sha256": "c6456ba43f2e387d8389c4d4ee9dcb800535fa5476159a61bb23b17498c1d6b4" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.md", + "source_git_blob": "fd7355016bea5575b674ec9500eb4b308e7e122f", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.md", + "source_sha256": "bea59d45143b447c9ce7cd055fe9cc812e28e2deec3e38a9d488f46eb0e75629" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/EVIDENCE_PATH_MAP.json", + "source_git_blob": "fbcc64795d1e438225d08413e050711df2e4934c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/EVIDENCE_PATH_MAP.json", + "source_sha256": "2388d4245c4a90baa7200d1488ce2354401dca9c1b4e8f55ebcf0c964dc3bb31" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/PUBLICATION.md", + "source_git_blob": "598783b9406f658001326d4ee7ff638b5b43fb2c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/PUBLICATION.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/PUBLICATION.md", + "source_sha256": "8357b3a08d635cef8436874a2e6ea8372ffc4afe1d3af35c267f0e8137143fa4" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/README.md", + "source_git_blob": "72af659f6fb0e607b794ddfc211c2808fac9be63", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/README.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/README.md", + "source_sha256": "ccd3fe778ab5382ca91080ac715f8b184ea67dd3d6277021dca08b0caf4c5b63" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/SPEC.md", + "source_git_blob": "2004b85a1a40a7b40d869faac4a69b8a52276f98", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/SPEC.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/SPEC.md", + "source_sha256": "efce0799e3608c889b1f6d2d34b48001554f99ed4561f75eaafbbe897ce2c061" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/TOOLING_REGISTRY.md", + "source_git_blob": "b86157c7bf98c1b6e0e5429a16d7274d92b6e59b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/TOOLING_REGISTRY.md", + "source_sha256": "df8a855486a25283ea376a545a660cb5d203ab65902f113e24c356f06d325ea4" + } + ], + "current_composed_receipt": "evidence/lazy-body-profile/current-composed-admission.json", + "current_composed_receipt_sha256": "ac4930ab275111ed859dad8ad56a6ef754ad3872b1e1276ee7b0463f225da0af", + "derived_publication_metadata_origins": [ + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "7b62898cb1a90b5a48e9d3144dd82eb4513ea1e3", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.json", + "source_sha256": "c6456ba43f2e387d8389c4d4ee9dcb800535fa5476159a61bb23b17498c1d6b4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "BUILD_REPORT.json" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "fd7355016bea5575b674ec9500eb4b308e7e122f", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.md", + "source_sha256": "bea59d45143b447c9ce7cd055fe9cc812e28e2deec3e38a9d488f46eb0e75629" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "BUILD_REPORT.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "fbcc64795d1e438225d08413e050711df2e4934c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/EVIDENCE_PATH_MAP.json", + "source_sha256": "2388d4245c4a90baa7200d1488ce2354401dca9c1b4e8f55ebcf0c964dc3bb31" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "EVIDENCE_PATH_MAP.json", + "self_hash_binding": "External complete FILES.json binds this map without a self-reference." + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "598783b9406f658001326d4ee7ff638b5b43fb2c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/PUBLICATION.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/PUBLICATION.md", + "source_sha256": "8357b3a08d635cef8436874a2e6ea8372ffc4afe1d3af35c267f0e8137143fa4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "PUBLICATION.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "72af659f6fb0e607b794ddfc211c2808fac9be63", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/README.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/README.md", + "source_sha256": "ccd3fe778ab5382ca91080ac715f8b184ea67dd3d6277021dca08b0caf4c5b63" + }, + { + "path": "evidence/lazy-body-profile/current-composed-admission.json", + "role": "new scoped composition; no new full-run result" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "README.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "2004b85a1a40a7b40d869faac4a69b8a52276f98", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/SPEC.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/SPEC.md", + "source_sha256": "efce0799e3608c889b1f6d2d34b48001554f99ed4561f75eaafbbe897ce2c061" + }, + { + "path": "evidence/lazy-body-profile/current-composed-admission.json", + "role": "new scoped composition; no new full-run result" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "SPEC.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "b86157c7bf98c1b6e0e5429a16d7274d92b6e59b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/TOOLING_REGISTRY.md", + "source_sha256": "df8a855486a25283ea376a545a660cb5d203ab65902f113e24c356f06d325ea4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "TOOLING_REGISTRY.md" + }, + { + "inputs": [ + { + "source": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen-manifest.json" + }, + { + "source": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/independent-lazy-body-review.json" + }, + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "00a333b860b63a00f5f4bbfe92e4742e83730e0b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/evidence/composed-admission.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/evidence/composed-admission.json", + "source_sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "evidence/lazy-body-profile/current-composed-admission.json" + } + ], + "exact_copy_entries": [ + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/REPORT.md", + "relative_publication_path": "evidence/lazy-body-profile/REPORT.md", + "sha256": "455ff41c5053a43fc14028babf1dcb954c30e4f4b1edd65938e2617dfbcb448b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/SHA256.json", + "relative_publication_path": "evidence/lazy-body-profile/SHA256.json", + "sha256": "813f4ae7353b953bab6eacdbfc550449b0b8371aa92ef082874a6584d64b350a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/evidence-index.json", + "relative_publication_path": "evidence/lazy-body-profile/evidence-index.json", + "sha256": "54f031e3e78eb99db76a4bb52993e74d528817ac0a2bde32e714d8180da6a66e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen-manifest.json", + "relative_publication_path": "evidence/lazy-body-profile/frozen-manifest.json", + "sha256": "ab20f9cffe26dee07210df2cefd03bce18188cc32879486cf2c9bd9775742735" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/mutation_test.py", + "relative_publication_path": "evidence/lazy-body-profile/frozen/mutation_test.py", + "sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lazy-body-profile/frozen/tests/test_mutation_runner.py", + "sha256": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json", + "sha256": "546a0487b817320cff8a25133b5ee00852a7c5ab4c2cbbaf4732420797fd73d2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json", + "sha256": "1a9c49e8a6d6cdd6e5646c9a57611303c40dc46d72afbac6554329dc7b26cbf2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "sha256": "45847f4a4001ced04cf789501e107e0a5fa96e5d83be8f35317c7298ee11fb7a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json", + "sha256": "d96e11963dc875e2ff8904bda1f204efd2eda75076d99e7e96fcab4c48e6609d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json", + "sha256": "10ee868a3a1ce9ce55af82d43fcc4d96c0e1c4207bd0974593a876d821627054" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json", + "sha256": "49680bf10b970366faad6c2a54f887d74d4037c0a2b6dcd88b8e98d4b962427b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json", + "sha256": "0789f0d376f08f6ccc7ece63a6f96addd287e083eaf32bf9cccdbd8f3e32615a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json", + "sha256": "793b6c856f0ad638cd2ff94cdbc62271082f0151381c5f396beb1026a052fdcc" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json", + "sha256": "e2d19461f0f6e62989af51d4372788953ab4d592d0999369f61b9595f7a2006e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "sha256": "31cc693cb9e4fbf80bf7221acdde18badd4260e1a5d142eba74f5b1d523d5cd7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json", + "sha256": "bf77ca2c29670567889cc782c5ca9f9fe337c273e346e758380b7fc1d7d01047" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-false.json", + "sha256": "5175d675e72360866f0b9e213e2b609be700ccc4f137244af20a9579ab9ab677" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json", + "sha256": "81867e3c01aa4a019bce93e151bf7e9cc47cd6cecc04ee34f37de9903421cc5b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json", + "sha256": "68996708e7d3406d4dbcf84c3ece9a12f2b97076232ffb5142397859ddee00b9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json", + "sha256": "a9bbdcc3798dd64caf37157be379d25acc9d5a3cd9793e04f8b1f99f9837d895" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json", + "sha256": "a91be2e837d85a775429ba28d02df3e76dcc42d5440d3c713f8f0460804c6c37" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "sha256": "2e455ff69fdd3853059ae3edff08f3e263ee81267d1fdcb856ef627e5e05f6f7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json", + "sha256": "b742457d9a1f0c6ef23cfdfada3727e56c7807903488806327d5d0b1d37a5e6c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json", + "sha256": "d9287bddd0970ba4b9798eb39a41076e6faec9b0097955a9ba61c4638b8c1352" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json", + "sha256": "4f2655314c829566c904f84ea54a1ab02d1781473bbae0bf388eedabc986a0cb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json", + "sha256": "6f4215bf662424e2babe77eda5b5d098afb508ad16bb35461f8864260b7884b6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json", + "sha256": "2610f92083254af3702c77027744df50c4356fb0f545a092389094b5307dcf55" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json", + "sha256": "b515c26385d560098d6fc9de66b9f37422457f6df6eec542d75a0902019674a8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "sha256": "49f1c1b4253966d0b154b180b2e0bbe215ee5e47aaa523dfa5af1049d32dcfd5" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json", + "sha256": "f18573ad508dd892b347e78ad17752cd25e1ee3549d737bec5228a698deb9aed" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json", + "sha256": "eea7d35092dc3f57deec300fe0a7e69b89c0d03e5fe6f8fe4b6ab10be5f9347f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json", + "sha256": "dbe6338cbf3a72737f2692e995ab15801abb9ea5b27f642621b10ee533bd6140" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json", + "sha256": "a9ac153790a7ca3de0ee10cd9b82d5ebf874e0c85b3c85eeffec3864b849c51d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json", + "sha256": "7071407442ade42001a96700df46ffdd3e4ccf89b8839f241ad25c3e684e40af" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json", + "sha256": "e88f2754afabd0709b2d5849485e4041221a3991bccd5cf717c7669f62f66365" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "sha256": "8b2d18cddeae3b978a75c1237c3e6db7de6ea2a0a80333ac5cf107031d788180" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json", + "sha256": "a4eb5eb2e12d97aac180844ffef572671e9f69dc951dc8edc65ff65cba1758d8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json", + "sha256": "5c0e6cf470f852d0a1d063b5c1d9706523bfabeb86f017f3de05367c4a5fe2f3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json", + "sha256": "d36244bc7b02af2414656a22641e9c3143cdfa260bcfb886206f41ae7fbc2dbd" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json", + "sha256": "fef668883385084778005cc9a80145eb560bae184c17d9696a87837a854f9948" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json", + "sha256": "1e7bac7dda4704cf38b4ccd813c03eadd551ec71c5dad27ceb68a78f1a54e7a9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json", + "sha256": "caacde0586c9f66c72398210da982cffcf4b643f25f9cd913a539d0eac4b8ab1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "sha256": "eb2b41e9c5c1bf4407787bbe583cf7557cf6d1d277eaeecb0061731356a4d935" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json", + "sha256": "3093c4ecf8019ce58b98bd649b569e1fde0a10956fede08ebaeaa8719657dd26" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json", + "sha256": "7c22fdf23cbbdf616b7ca67e1ff3afa1ec0a8c34881a1d6f6d1b79846cc190d3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json", + "sha256": "bf9302c233cf02fbb7c4b64b12bdeca1fded6a42b90a30a4c66f93b53c6598ea" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json", + "sha256": "94349d53f897e0153fdc5434ec7ad510ff95868cb7f22e3bbaf71feaef40abb4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/layer-a-lazy-body.patch", + "relative_publication_path": "evidence/lazy-body-profile/layer-a-lazy-body.patch", + "sha256": "74c45e0f03610cc52f5a11bf46e141456b16209eb5e70696c274f507ce519f57" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json", + "sha256": "5782bffb030c2547c28cbcbea5af75bc3b4b049ba9245dc3bce78c9553a4ef19" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json", + "sha256": "db92a07efac7c5835fd0217cb6b3e801e3525791278c8c05f2559a0298d358de" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json", + "sha256": "c2c4dae7adf7428defe36e546bf2c191d198472a7486ddd0f632a5a7add64df2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json", + "sha256": "109cf855dbf3cb0a112ec5e84ef6e8fc38b340cd42218fc495e269d6b0bcf95e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json", + "sha256": "4119f662f38163dab2281b09b4870fc33a3970a999ce1de2f5a4b805e3f68547" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json", + "sha256": "cae461c8c221abac82cf8dfa5f1ca60c698ab826cdfbd84bdf44b9c4e8972707" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json", + "sha256": "bd564c7cb8db830db209ac68cc465590b3e95ccdaeaf9fdfd78567fa423c23c8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json", + "sha256": "aeb0d29f91c6f9baffb53def30467609199a009bf43f004545c2e6fdf56a24fe" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json", + "sha256": "7bd87726c3f00bcf1675747093f25754a54133aeba7bd570ba3e0a4c31d4a4e7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json", + "sha256": "3d324ccda4b8290b4231cc3cdc0c99a0eb396583c2a4019d17e8c28b07283d74" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "sha256": "e68cd6a0bcd718145e7cca2d82006e53d5ef19068b48efcf2979d9cfe615d646" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json", + "sha256": "9b0b25325310aea727ca8487c7a02bcbe35f54c251dc2203b7ffcc1792bfb717" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json", + "sha256": "459f307329fe4c5d685006ea438e0910023597174fae58d7d48e1d62ee114de1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json", + "sha256": "1a1221a7f8a1be3c6c42855f949720762321fa4a7052a4ff3cc6d9f9482cbf16" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json", + "sha256": "bf62558a75f1ed3927f6a9309ba785a60a396c165b297dde565cafebdc38b0c7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json", + "sha256": "5a4ed48af34668a150cbbaabdbed807212a1db137c0f420507c2c5bb81a4f2c1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json", + "sha256": "56e55fbf9f4f8b0e1af3817390fc7aa08a8491da2f26cb0f50116393be79e65f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json", + "sha256": "4987d3caeb119b1f9bc108c826ddb9ff8ac89dcb9f2a13850087f6d08fc85901" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "sha256": "97fb49ab186bd6dcb9e5efa08dfb5acd335b5bf7fab15b9d70fe649a7b364e86" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json", + "sha256": "a5cbef941c2010e9209307ead48bebfbc13546b9149e9b60aca0e97477e30bfe" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json", + "sha256": "baefb71d5c8d1358ab57a458212d5434c4376b02b54c8e64dc9fae57c9316f89" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json", + "sha256": "66b14b689cdc86cd5b6f8755cc09983d1b3bf30a6a411be3387f6dc505796b7a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json", + "sha256": "6a9bdf9451c0e68887d373c22aeebb2a48a0bc708c1ca49bc272d45df63a5891" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json", + "sha256": "0689128454c38d6887d3f16044519b0db62b79279035f63bf4265ba050d6af65" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json", + "sha256": "ad79c076eb904ce3f4e09d654d6e0f6d9fa29a7986a927c543073196f9bc4647" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json", + "sha256": "69418b9a562b3580fd2c391116e5943cf2c879d4a4fc17d03d155be16126cbe3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json", + "sha256": "0b0f08fb3f49dff0ee1ccc5ea9bd333e731e1c46dc800ff3bdbd31392da44d4e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json", + "sha256": "c276402372cfd3b23f38c0d04cdedaa83887b40791b416675fb009d5739c1fb0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json", + "sha256": "00375b3018dbb38ed995e0cdf1292d88f0b495624c06643e188b06e99e14ad39" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "sha256": "945f7f31a14926921aa730951d2592d3bf6fcb6ff8698efab0d183c9d09fd9f8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json", + "sha256": "2bce417c754d5d1c4e8faac6d117e54471a318900fed74d3afe1233816fbaf43" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json", + "sha256": "1cd60a7e04e15a048e4d6442f5717a97b4a8a52559d589f2cc03ec4ecf47f44a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json", + "sha256": "56761ec13c26959f4e1f4687c4c7c5b466875d1c61ee40234553bf2a56fbe265" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json", + "sha256": "b7e863c69fe7f239e622ad2df4c88c54e770da3be597f0d4f40dc9b22163e161" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json", + "sha256": "9af887cff27efe939bb6259ab2f94a8ac2f386ff36deb7f10bb990ed5642d41a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json", + "sha256": "34112cfbaa4f193e895e3ff8282c9adcbdbbf73ee4db1deb82d40ff2458033d4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json", + "sha256": "ab76848c7281e5e1cb9dbd0adbc8bc6bc019899c92e1564db11daa37c805a64d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "sha256": "6fb59b3869ecb457182a695c1f92bbf7ee0fc49146b1a2a7fb126e3fae6f2d45" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/new-guard-source-controls.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/new-guard-source-controls.json", + "sha256": "238b21383ac2e67c70177e99f722e6514c673b19c92b966cdb915733a03ff6cf" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-accept-custom-awaitable-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-accept-custom-awaitable-returns.log", + "sha256": "f98a58d94ea390a8c59d0154b6537d0caa22afb3c199f639fc0408677e826be2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-accept-lazy-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-accept-lazy-return-objects.log", + "sha256": "096fcb129d15d6538af4ccebcd964e0967f85ff4462e95156a92167bd3a69cd4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-advance-coroutine-instead-of-close.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-advance-coroutine-instead-of-close.log", + "sha256": "d3b61f30797121ada03de3d9c516f8612f1da70302863aad4eea4eace1f64798" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log", + "sha256": "1af2ad87f3ebf353950cd468af5e4c686228d616c3c58ae91b34cba55d7c4dad" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-async-generator.json", + "sha256": "f355eab504fa7e9a90de1f6b4de1c41c1497f3478d52b2c02b5d3bcb6ffeea3a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-coroutine.json", + "sha256": "8e39b10b04e86d8a6a4179a8982b47ea869a5b7dfd34d4c179a0b38f626ae4ca" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-generator.json", + "sha256": "9e4c665b333c4e10143053dceb7b15a881400e2a956c0d693a2760961b3b720a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-pass.json", + "sha256": "f4a5cd3eeadafc96fe72f3a93f118d44ad1d8b0931c9686fde2589877f323517" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json", + "sha256": "1baff3e4f75430c91775f50859a6083de2b0ebc8c4c3be347eb91a6b7494fde2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-async-generator.json", + "sha256": "73716271ef8fc91aa4b960548f8ddaad6f889e1e4479d8805f0f6d60812d84d6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-coroutine.json", + "sha256": "95955d5978be4ae58fa2cc6728cf3c46afff5b9a1611947b2e991628fa9409e1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-custom-awaitable.json", + "sha256": "ed0f0985ca9d14428adcea6f6e86fb2704b6e3708fe0e351c87de4841d4fddfd" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-generator.json", + "sha256": "b9bb90803b9ec5ac074e4bbe69f049eed5e6d5a3406f60b32f0e0cd66b818399" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-async-generator.json", + "sha256": "f53a2aa84fa9d75dae5845058882060f0c90b17700a6aeaefe59627f91b5e894" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-coroutine.json", + "sha256": "9b7894d1a022b4e2ae2dc9bab58d2f1d6c6a9c3c2baa39685c9035200007ff31" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-generator.json", + "sha256": "db55656e367fd2c59adb60d17fd0f20bb7ab7df9d545e6438cfc58252e1c7a15" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json", + "sha256": "04e20b319fbeb47089411c21157662d8c27d75a10bf37e1fe26a59ec1c2d005c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-ignore-middle-wraps-layers.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-ignore-middle-wraps-layers.log", + "sha256": "407f235bb0052146a12670b95a4ab78936ca5fa8e2b2bde5e62075480f180709" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-lazy-controls.log", + "sha256": "3f74abeb9efd8d2a6b52352b04bd1de7ca472db4d801c143c82763fafc62f250" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-middle-decorator-control.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-middle-decorator-control.log", + "sha256": "c5b7865767c2d5ff0308b06c1dedad9678a3454f23cdb2c0ebee54784388f872" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-accept-custom-awaitable-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-accept-custom-awaitable-returns.log", + "sha256": "1f8098bd02513f56f5d6b35448ff5dbc2e3d756762c8159ae77acfa739a84253" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-accept-lazy-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-accept-lazy-return-objects.log", + "sha256": "2d132c375f2e255cd69480a46dfc99fde81f14162353e63f9a020bd05fd6d118" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log", + "sha256": "91136f9a8c4166c13d9f3ca1909cb2c580028bfe8f55aaaa830b5b0683d544f3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log", + "sha256": "ad28cdd8b06e6a43298004bb5a4afc3fccff128c3de14eea869ddcc67ab228e7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-async-generator.json", + "sha256": "13a7a7fb21967fec1747247704250250bbe65eefbe416c8af1fe9421a165a4ec" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-coroutine.json", + "sha256": "43fd1b427fc448730e589b28a717e62880d0223e1834675c5f20b4b11c778aea" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-generator.json", + "sha256": "88800a97edc0003802d83bbb00d8b01b5b3bca64d82d26ac8a4a4c6093952744" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-pass.json", + "sha256": "11a7b6fbe3c5596f2037fbf0a827ce4a3e8efc3280fd983e9a9aea2ffd21b994" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json", + "sha256": "c55ca1d66c138bb71cf5a5360ce1ce61e96cfea42f9b076088dcd28fd58b55a0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-async-generator.json", + "sha256": "b467db6092503d65472540654f38b988c796d645c84a05925c3220c8bc779236" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-coroutine.json", + "sha256": "b025ad49024eeb7829a3bbeaac7df8306d5b20102f724ab87c489b30352a7419" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json", + "sha256": "095023623c8c3eaf563f2b64afe3857fabb27dd509556a77a8509612a905be6a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-generator.json", + "sha256": "57ad1c7c704b5a4ca36a8a18f8cdd71990a68bf0278fb27fd0c25a6e96dcd631" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json", + "sha256": "bb05833fa4266a768f4c86477f6466606df3ba5f4a301a9511171a836c390232" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json", + "sha256": "a1ea05da56a0f20ee6af1e402b451f02604a27154ec9c62bece931d21a03fcf1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-generator.json", + "sha256": "1f64453e0c34dfda710cba521af173125a5303825b4b492cf3f1f6a2d89ca6b7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json", + "sha256": "cb24b8c483e45c8c0066cb54ec3966034d6423d3c0895450dcc5f868109e32c0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-ignore-middle-wraps-layers.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-ignore-middle-wraps-layers.log", + "sha256": "8baa23df02a8f17dff43efdb1fd2048fa5552bb91a615ea4d2f8467b6f7d65e3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-lazy-controls.log", + "sha256": "593132b829a0d077ae8542b425ef8f786397b6939c7ace83713e9a7fc00a9e40" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/run-new-guard-source-controls.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/run-new-guard-source-controls.py", + "sha256": "08a41c74058c3887c3eb34a232cd64c1c507cab3d4c8ed504e6c5d50a1ae2cc7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/source/mutation_test.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/source/mutation_test.py", + "sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/source/tests/test_mutation_runner.py", + "sha256": "142dffbcf56e1bfd3f21034f31f484f45954f7b1a381d4f558568b67f1d84ac1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/mixed-generator-red.log", + "relative_publication_path": "evidence/lazy-body-profile/mixed-generator-red.log", + "sha256": "24af48646a104c428a673946b736347c5150a49224f6b04c0a128467d5327410" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/new-guard-source-controls.json", + "relative_publication_path": "evidence/lazy-body-profile/new-guard-source-controls.json", + "sha256": "88eefd9ff45f1d386329ab3cb499577bb0e3ab3052c45cecefd582d18ee1a3d9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-accept-falsey-non-none-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-accept-falsey-non-none-returns.log", + "sha256": "51c8bfa5fef9f7bf784166942301065a1b17fc1451c530111e7ca000ad061252" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-accept-non-none-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-accept-non-none-return-objects.log", + "sha256": "b43c342618dd83e53ac33fbf29442f34fbb1bb93e3cd9999ec596e42351fbd5c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-async-generator.json", + "sha256": "de1512a42f1746292c09c11068804112cd8a9f2dbcb21194df91299e5d821a2a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-coroutine.json", + "sha256": "1a5bf1be54b271406f770e5d594f42ec39ff99dad592eabe5764c989f84071da" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-generator.json", + "sha256": "7c553235cd2d9fb7acd29bb9de900eb5dadcb634715ff56121971b1accad1a61" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-none-kill.json", + "sha256": "652f070ff6849beebf49ee1a41432081d3ec893616721c1c7b4325bf806845f6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-pass.json", + "sha256": "6895a3589ea6b8b162e6a3f8f52a18bd7db43fd9b2cb63be4f359c52fff5c8d6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-unknown-iterable.json", + "sha256": "aaea15b6162a0e2343718c9a840e2526d966fd04fb00f4da63c15e6479b5b624" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-async-generator.json", + "sha256": "6959998c9a32a0df2be27687b9b06ce7f9851097d1e6b5c6dd8f455b83ae20b4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-coroutine.json", + "sha256": "a0f413c3db9574bd9e1bfa96147a580591f9b82922ffe50c98cf398f8e3e06df" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-custom-awaitable.json", + "sha256": "246f43b508601e2af2090da41f5372f8cc4a0757c1b9b89ae9662166b7c28f32" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-empty-string.json", + "sha256": "374f9aae7d29f618431b5d5f6ed338dfc7b6363bde770463c33f4327013c50c9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-false.json", + "sha256": "1cc554c0e12d4d35fbb31ac247a189dd128ebcfaf13a48400038e8fd76237bc8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-generator.json", + "sha256": "e24e634e3dab849f68399cee3ec6d9b2ca9021979d8866f0c2ab21fac098c1db" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-scalar.json", + "sha256": "0926fa0038d5c8b3447f4f194c3c108351d4b098732a5cb066eec9f73d90d392" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-zero.json", + "sha256": "240eb9063e732fcd1c3311f9302b9a7ae6d2cdb496b1527af571ff0aa6bc1d47" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-async-generator.json", + "sha256": "86f1e6d71f6adf59d4aa2dbff348606f068cd9a5025de45b0cef544cf638a544" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-coroutine.json", + "sha256": "a8883d9110e163a208df3439165fb68c2346adc5a83c6fb21244e8b4be5dce86" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-generator.json", + "sha256": "b031f6e664cfc8ddc10a8eb555c9f934b3e4bd880922df0576f1e0906f205467" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-lazy-middle.json", + "sha256": "79f63cbbf6eb2fbc2060e7d5fadbc0dcfd71384661e1e3d939ea0a7740bfe3d4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-iterate-unknown-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-iterate-unknown-return-objects.log", + "sha256": "8dea0357a259fb52b0b9fc16aa64ef526d9e8a9328af0a0cd990b1fe5bc54493" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-lazy-controls.log", + "sha256": "7cd8ca15dd44e1f391431ae906909af507dec8d46c9cf7234155206eb02cf060" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-accept-falsey-non-none-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-accept-falsey-non-none-returns.log", + "sha256": "b8bd6b7b83df7648ddc26b938eb53a7308dd4b49dcdd5e2aa5e218180a67106b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-accept-non-none-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-accept-non-none-return-objects.log", + "sha256": "198ffa5f6ec6cfa71544844b5034f9a265f0565308450cffaea2b1d26459986f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-async-generator.json", + "sha256": "00650b9fa99119d8c5ac17523ebbaefa41f0f117bb4b7b739ae24f08a2aed1b9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-coroutine.json", + "sha256": "d60b509a1e124a707a85a8a2c9f181e3cbed8c5ae1fe6d381b3f98906c353baa" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-generator.json", + "sha256": "7c11e95f44fa283863c7759d38a702d0659b04d782ba684739ee9a21250b64cb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-none-kill.json", + "sha256": "7f83c0181d3689b19c8c7af63007406717a694a8675096be8fe6b3b48de9e24c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-pass.json", + "sha256": "4d7b6304160cb59b956b8ec870671bb0cb89b1884843aea458c3362970ad127b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-unknown-iterable.json", + "sha256": "cae95759690c785a383153530d40814939dfccd734ee06e1a2de247df1ba7f45" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-async-generator.json", + "sha256": "8ceba34b0176ef1d9a973dc7eb2d24dc9d43be7f4f0d3906b1abdc0f48c5a99d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-coroutine.json", + "sha256": "ef31f394f904a3665f4bc820d1f6a699cad5bb9bb6b882c9393bc916034d63d3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-custom-awaitable.json", + "sha256": "9dfa05e9b825458c31bee8b3a29a837e41d793df3cba0d1322714d82e66b0eff" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-empty-string.json", + "sha256": "03bcf3deb54fc191773573922cedc74fb84578a899681506d00f399c0f5fc090" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-false.json", + "sha256": "c5413e6e11e4943a34e6436a6170f00e281dff75986ef218faf0a5849eae26bc" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-generator.json", + "sha256": "27390a1a1314e7d41b2e8e46c00c9380b07788cd11194e449d0bc32513b66c3a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-scalar.json", + "sha256": "9420353adf8a5c70c000fadfe922109481d31c2d19cfac7c41857f8361733855" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-zero.json", + "sha256": "719b76ba274ecc1046e78fc7b6e61fd364c1c024ffc4ce0a3a76788de6e6fb4c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-async-generator.json", + "sha256": "ab38d0f65fce4e1253a03652c5f238605b912ffed7654957ba9e442dd475befb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-coroutine.json", + "sha256": "768b18d7eed8f0c37ac1e824586bea239b0e35e3017e75ecf67d57f995657ee6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-generator.json", + "sha256": "c5f964ba7c22a2f56edcbfa39b8c0e0668fd3f167a20da42dbbde26745f85979" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-lazy-middle.json", + "sha256": "534f373f115d2819a4a4b3fe54b77ab16a39f592f5fd432ba68323878ff4ac62" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-iterate-unknown-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-iterate-unknown-return-objects.log", + "sha256": "1a5ffaa1242c35792165c948c1f9710e153a52d6dffa22a0e748e4a892a0bd03" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-lazy-controls.log", + "sha256": "d09ea53a8f32dd6933e707254eb6a7c1f9f7c93357ff0059c707cd217e57dd82" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-async-generator.json", + "sha256": "59a57a8c94922dda3ec7faf26f9bd92a9abbbd7c0a55181cebf7ee6b99ab7b63" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-coroutine.json", + "sha256": "4fe1fd1a82f2063b8dcdcc951759fa97b428c2d6ede31ffa04ffe107518d5882" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-generator.json", + "sha256": "82897e6ec4d2b4824a84b61dc1afdc43cdaeeb3d288a93e94eeb4737fcfcf68e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/ordinary-pass.json", + "sha256": "27e348122d9f750259b0fd11bde6804094a9781b313e930419eafbea4bff674e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/ordinary-unknown-iterable.json", + "sha256": "73a67ab0b8deea5504da9eec393dfdef75f73945b5eb8d1e8160df65d2e52b84" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-async-generator.json", + "sha256": "b5754d4ddd057e4f0c2063704c3d841555feb8bfc79440a96f614eb29b1290df" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-coroutine.json", + "sha256": "1b7470881d93bced1254e086cdf063b6e6c254efc4a260faf40aff39575b793a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-custom-awaitable.json", + "sha256": "f7d42f3a7573c73784e15f296ad1152671c47102247d71a945a5b4e41130b9ed" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-generator.json", + "sha256": "5d9d154747be2787ddea4ed91fc54277b80273503ae49359646ab825143bc033" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-async-generator.json", + "sha256": "738e717f0936b6310e2ee037d85a29f688d88aa94db68d1a7a44cfa1d1f168c9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-coroutine.json", + "sha256": "c72bd10145752b0e17304b31e0c23c24cce8f720c26f51712c39c5bb91e4bcb7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-generator.json", + "sha256": "fddb376a2660fba284666764572753848fc5ee984fd55b2b6d4cea6d61ec6b09" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/red-lazy-controls.log", + "sha256": "8f1c52e4ffc6fb9285c3b6ebf422c33887aa51356406a173a123aa31d9bb0334" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-mixed-generator-false-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/red-mixed-generator-false-kill.json", + "sha256": "f3763817ae55ae39210c270a44a36b70acf524d5285331e9efc78c4470ae834a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-none-kill.json", + "sha256": "8cb1f8cd41f85cb4762e23aaac3b7cc11f309fdf9d56c1625ca7cb79e7852acf" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-pass.json", + "sha256": "117c3c7908c3cdc0d1f66d12a261ae7ed106cdc05b29bf35e42e11b68b846804" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-unknown-iterable.json", + "sha256": "4fa5dd75b1b593f26179207492eaa0e5e6fe96d65fa57fffbffb5c653763ca7d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-empty-string.json", + "sha256": "7a9fdcea28c6735d28e930eca795f0df7bd0c7d06426ee26e1c49ffa6b1342c2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-false.json", + "sha256": "493618ff8e19c15d09a9d474ab09c5b8995adc49c89e1b35937212d435e59842" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-scalar.json", + "sha256": "e88f72d0f19797092f82cd09584c49a00c7e6898726fc96981c20c0a5b56033d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-zero.json", + "sha256": "223a479500ad03e116a3b8f4ef49227cf94b25151a8ecf7e8494051cd1f00bc5" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile.log", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile.log", + "sha256": "869f304a7de9e58f20caa314f54a07f54c97495b04a1b899f73ec478eb52ffbb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/run-new-guard-source-controls.py", + "relative_publication_path": "evidence/lazy-body-profile/run-new-guard-source-controls.py", + "sha256": "53b40ae1abbd4e856befb289199f924a8db246b51254358c5348e5d1fa6a0be3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/independent-lazy-body-review.json", + "relative_publication_path": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "sha256": "8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/original-method-shape-applicability.json", + "relative_publication_path": "evidence/lazy-body-profile/shared/original-method-shape-applicability.json", + "sha256": "16a4c32a9856e83df1e78b35930d5638f146504f1ec1ba95fbac78381072727a" + } + ], + "predecessor_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "raw_receipts_unchanged": true, + "relative_translation_rules": [ + { + "publication_prefix": "evidence/lazy-body-profile/", + "source_prefix": "evidence/layer_a/" + }, + { + "publication_path": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "source_prefix": "evidence/independent-lazy-body-review.json" + }, + { + "publication_path": "evidence/lazy-body-profile/shared/original-method-shape-applicability.json", + "source_prefix": "evidence/original-method-shape-applicability.json" + } + ], + "runtime_copying_origins": [ + { + "expected_old_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "expected_old_native_path": "cbz/contributions/math514/layer_a/mutation_test.py", + "expected_old_sha256": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "kind": "frozen_runtime_successor", + "relative_publication_path": "mutation_test.py", + "source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/mutation_test.py", + "source_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f" + }, + { + "expected_old_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "expected_old_native_path": "cbz/contributions/math514/layer_a/tests/test_mutation_runner.py", + "expected_old_sha256": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d", + "kind": "frozen_runtime_successor", + "relative_publication_path": "tests/test_mutation_runner.py", + "source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/tests/test_mutation_runner.py", + "source_sha256": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + } + ], + "source_stage_root": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix" + }, + "new_evidence_path_map": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-red.log", + "relative_publication_path": "evidence/lexer698-red.log", + "sha256": "b8664d7614517232ea7a2a04908ab3c3e425dc952f4a5ad082a701a15cb34d90" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-api-green.log", + "relative_publication_path": "evidence/lexer698-api-green.log", + "sha256": "e4737c6d01c5ffb433b79740c7ea81632ebcd2d50e7932c95d83e4ab4c5260de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-working-summary.json", + "relative_publication_path": "evidence/lexer698-working-summary.json", + "sha256": "0df50a3443ed8bacd4e8ba2be9156854efbd4126c9a391b834e08e03afec84a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-green.log", + "relative_publication_path": "evidence/lexer698-green.log", + "sha256": "1c8103210a0ee609cc3bb91f19dc6871f5df54b56981a297e9e1fc3d5611c4e5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-existing-harness-optimized.log", + "relative_publication_path": "evidence/lifecycle-existing-harness-optimized.log", + "sha256": "bc287a98102ba59909d3d67a5703831fec5be51e592c408a383878e3ba55e221" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-existing-harness-normal.log", + "relative_publication_path": "evidence/lifecycle-existing-harness-normal.log", + "sha256": "a5f843c113cd036dc1876267aeab55b0932c41e81bfa56bac123bda3880deb26" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-admission.json", + "relative_publication_path": "evidence/lexer698-admission.json", + "sha256": "0749e207efa46545ffbb2c1ad73fb1305dbf7b73f052deeaa02fb84bd1adb3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/existing-harness-current-receipt.json", + "relative_publication_path": "evidence/existing-harness-current-receipt.json", + "sha256": "3a84e01a6a38651a1c8c67e1d1a00f0a6bb763c73cfc5c1f762aef57329e4f0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/composed-admission.json", + "relative_publication_path": "evidence/composed-admission.json", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-api-red.log", + "relative_publication_path": "evidence/lexer698-api-red.log", + "sha256": "d595343251214e3e5b33c40e157d7122f3c241f3e8b07b364c3334137b9f8746" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json", + "sha256": "8437801dee1fcef4fc071f938cc903ab3952e371e281400daa53b671a9762783" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/mutation_test.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/mutation_test.py", + "sha256": "e6afa7a0ef6b3e5cd9ce3afb5a4784ecf5f3163c2ed36fef4a46a517f238b721" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/selected-test_auditor.py.txt", + "relative_publication_path": "evidence/lexer698-initial/selected-test_auditor.py.txt", + "sha256": "bc636f64401f4292815a5e654ab8c6244b93686c3cde20571a53d3d83edee0cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/receipt.json", + "relative_publication_path": "evidence/lexer698-initial/receipt.json", + "sha256": "bdb32009ad622a79727e034a076147145307bf309e6d7b13c129006457a815c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-checks/controller.py", + "relative_publication_path": "evidence/lexer698-checks/controller.py", + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/receipt.json", + "relative_publication_path": "evidence/lexer698-adapted-mutants/receipt.json", + "sha256": "dad914b198e0bbf44f6641001c35b5a0ed0c61811ce774bab3a6ea4e506850fd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-event-count.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-subtest-event-count.log", + "sha256": "7005456e8bebe2eb9b56e56a8c44b35aa4aaa2e914b51f1da9c2f6a1bb7a07d7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "sha256": "0e5b8339c21caa406ac6ba6049539620044f1bd4ea42f92ecc5be55916fbb5eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "sha256": "e9ad02a21799e314b5374d77cb6aef468e2561f92ee23d9b5e3fefe6e19df242" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-focused-tests.log", + "sha256": "c8fc90a471bfe549d6b953270b152b79adfc458b73efbff8669bfac1271c6590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "sha256": "5a158f43f99092a7307ac637eb76794198cf387d497369e80ad3a304dd06b363" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log", + "sha256": "58712533cadfadbff6d3a2428557f1f6aef65748d7480e33026c2cf16574d777" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-setup-false-kill.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-setup-false-kill.json", + "sha256": "cf2e097d01ebb3366c46efb70e23dbd8c1b3de80b1b83668d5d215b1a20a7dc4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/baseline-source-sha256.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/baseline-source-sha256.json", + "sha256": "2103e82406645987ef87649b63240a9ea3abe2f17288a22956724b4ec0b27770" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-external-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-external-population.log", + "sha256": "e6d91ece48ee4bbbbea511f7ff2a66ae1328b91a0020320fbca773a2b6354ace" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-synthetic-callback.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-synthetic-callback.log", + "sha256": "ab63922ceb0f3700dcbd2205834243ca8e096f29e172d5e3eaaaa050e7f2ceb4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log", + "sha256": "bed3024419f029375d02a4e93649d85fd533d54511aa1acc94b914d2ced2d429" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/evidence-index.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/evidence-index.json", + "sha256": "791859398241ca57c9baf6273c39b18d8843764e37212b38b9d2c12652af8ecf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-forged-subtest-events.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-forged-subtest-events.log", + "sha256": "991f5f3bf95c06c6b1ca4e7bd99a83c9d47a2a934fb282088b498b223dfd7ec5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-completed-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-completed-population.log", + "sha256": "b5e3f880d283ad9733985f7654fa9ba75f1f1b0eb90e1231cbd054be70496b83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "sha256": "5c625a02969576a12922738f68eb9b162714b040165e518f1b7e1c75ddd10c3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py", + "sha256": "75042321cd76b3513c14f5fc45393cb6bb5b86e1cedf75d4a289e25795cd151a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-dispatch-hook.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-dispatch-hook.log", + "sha256": "90fcd430201a339409a2736b39eec1361204c8002b3e040af47a75436bedf563" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/SOURCE_SHA256.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/SOURCE_SHA256.json", + "sha256": "7fa273830cd4b48b75db970c143596c07cc9898d19d6d26d0776f5200fb99b08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log", + "sha256": "a34f020aad6559eec1cd1018305c42d5f8008a7f0f5f0da24511bfde0286f45e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log", + "sha256": "ea7a8f0e5d1ea18680fc28c97b70d171471dafe21ae248bb96a44640f934f706" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/lose-method-decorators.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/lose-method-decorators.log", + "sha256": "7eab1e0a89fd174118f1188ee01510fe393bc5741bcb2130479d925978c62b2b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/benign-setup-assertion.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/benign-setup-assertion.log", + "sha256": "4fafb267b998b6df5671ea143ed5768aaaeec2795c4ca0b315e07439747b335b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py", + "sha256": "84ce26cdf0eb5a99a29ede88bc7745fa07901785c18895d1ed7f73b3008efa3d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-external-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-external-population.log", + "sha256": "d4c87cb11d5b3c7038b11b38516c25cca5ff75e52849a0a0e23dfe37429c1709" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/harness-source-controls-initial.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/harness-source-controls-initial.json", + "sha256": "0cbf90e399ae6c10c2774fcb4fff6eeadc107d1f4730d67a582a38249ba36976" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log", + "sha256": "be631658efceb86a65e35e072a91a4a179850e5c34ce3b71f935b2e5846ace46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-harness-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-harness-source-controls.py", + "sha256": "927db98e307dd03eb03685f806dd1e4009a4abb076c5d59b7fec3810b3a2df9f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-accounting-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-accounting-source-controls.json", + "sha256": "58ae0684468b4472f55287091517a4e5462bffedac079d0fa8d930b9c0d1e03f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-schema-requirement.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-schema-requirement.log", + "sha256": "f295efcaed50cf4319d7762d18e71a79bfbedd3a7d508332b8a72a578621148e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-boolean-counts.log", + "sha256": "f555fc30a591c4a7f46af27a7795a0a52e4775d7eb203c6a3fd0fdd8cf05a2d7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log", + "sha256": "975312c9d33754a0ee0df3679c7fa8529d5bcd552cc97118d57ba6c16b750df1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log", + "sha256": "819fb90ee586987ab069f952a62c4bcbf147ac0e1db23188fd1dd344576a1026" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-phase.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-subtest-phase.log", + "sha256": "49506c9b219a5cb5e0697b9a8b78b2d560ba090c22fc140e90cad562b2726a59" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log", + "sha256": "db9ab71d5d65e4726cdc57b3317baf222bb699dbf6177a762529a338940a2369" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/new-obligation-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/new-obligation-source-controls.json", + "sha256": "24627a65535cd182478a12796da4ee6927ceed8a93ca94be5af3c8c469046b0d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log", + "sha256": "3931e34a8b85b973a515c6fc2033147f82277924eafc0ea1387221735abdd3b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md", + "relative_publication_path": "evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md", + "sha256": "266b969941e35a1703ab0cf4c095f1a222eb5b9b1f3cafeb1142bbda4547b682" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-focused-tests.log", + "sha256": "70d28a9ffaf56e2766f01bffe94ff146a70d09100fea66c75af86f25e6eefe89" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-assertion-event-provenance.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-assertion-event-provenance.log", + "sha256": "15520d4df9d87acd07e812b17011fc9d4f3a83314ba7b7412b251a24e1890ed2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-focused-tests.log", + "sha256": "2478a211506f7fa0ed64e3a42a19cfe6418e48860382b3e4d392ecb8eacbede7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-external-population-binding.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-external-population-binding.log", + "sha256": "e06761b787303128d4abc303cffd5059cc43a1ea6fdb4de47ffb83a6e265ba5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-body-scoped-subtests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-body-scoped-subtests.log", + "sha256": "b711eb863e5cc7bf5e113ff7fd1976c971ee5d79324191f4e3b040b85c22c574" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/harness-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/harness-source-controls.json", + "sha256": "100f9129b8cec349cf54e42362edd7441cac12c91ef3e76cfaed6ccc1e9ae5d5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-body-entry-accounting.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-body-entry-accounting.log", + "sha256": "658660c0339ae12ac0a25ea1c218e980198ff1c317fbf55c4dc81090100fd541" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log", + "sha256": "abdffb3ed8af9407cdc0b0beabea9f732036b08e81a083fad7164cebb7cf636b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py", + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py", + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-axiom-category.log", + "sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "relative_publication_path": "evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "sha256": "60d6e1c2132f6ef891f5011b887211f695fcd371b1251606d8a892256ce3303f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "relative_publication_path": "evidence/lexer698-initial/normal/empty-lean-findings.log", + "sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "relative_publication_path": "evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-placeholder-category.log", + "sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "sha256": "08e737fdd7036e291d8fc1042f3cd0420b58f274aaac20e0e4f4e13621038033" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-native-category.log", + "sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "relative_publication_path": "evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "relative_publication_path": "evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/baseline-identity.log", + "relative_publication_path": "evidence/lexer698-initial/normal/baseline-identity.log", + "sha256": "1c38bee11cbf7458401fd5c05c59a866f16ab06c4a2cb45196a79145aec9bee5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-axiom-category.log", + "sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "sha256": "7ac1abde253575f9618b2b354a00485473d56514374dc7272470608b0333eda2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/empty-lean-findings.log", + "sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "sha256": "81b0341312b3a14a5c4c31ea3161bb15184363bb65d81a7a491e9dd8d9e1f5c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-native-category.log", + "sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/baseline-identity.log", + "sha256": "97e645f35e21c52af3988bdc7415c7df498ea9f4f7e5a1d0a781241fd84f0d8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/canonical_lean.py", + "relative_publication_path": "evidence/lexer698-initial/source/canonical_lean.py", + "sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/source_checks.py", + "relative_publication_path": "evidence/lexer698-initial/source/source_checks.py", + "sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/mutation_test.py", + "relative_publication_path": "evidence/lexer698-initial/source/mutation_test.py", + "sha256": "08b284df834f2c5c2960202046036b81826dc3900dc8c2a226ffe42b3a967212" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/auditor.py", + "relative_publication_path": "evidence/lexer698-initial/source/auditor.py", + "sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lexer698-initial/source/tests/test_mutation_runner.py", + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/tests/test_auditor.py", + "relative_publication_path": "evidence/lexer698-initial/source/tests/test_auditor.py", + "sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py", + "sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log", + "sha256": "6eac87ca6e8d1470236dd3624d790866189b90290bfc684f6216f418e896a562" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log", + "sha256": "b823ea9d7f3e570c0ca22f460dcc7b65bac5b29babc6e79ecce1e65fdc510372" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "sha256": "c1c5eeaab374105dd0cc5cf9f8342396712364a73ad3fd303db0bccf31e61bee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log", + "sha256": "f3721624aa8831b88c0db6b9e251dabc4d21a2a5b0226f57f99246db94343cc8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "sha256": "8a6dfe4fbb3a4856f9ea8d12cb55caa4f31095eb17a370b1196c5493ddfbe001" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json", + "sha256": "6ef5102e00197a3577c2a7f01dfb30939944b16806631cf67515317b724dd549" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log", + "sha256": "f2f9b477dc19bb0cbb40c5d0b074148fc3d9198ff042c5c9efd3f08740e26e73" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log", + "sha256": "97329f849c40ec14ba28671433676756d4f17a2357a6ce5fc94d9621bb3fe2e5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/receipts.json", + "sha256": "1e6495f2a1b155fb3893960c37bff367275a5538eef7d0ee9af52929aeae7223" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py", + "sha256": "e3ef018ee646ce11514331488660b4e492b23384d3043c003be54e478e7f707c" + } + ], + "prior_final_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/baseline.log", + "sha256": "b2e6847f813cbd618c30426d1b90b600e14b1aa83b0c46568a2f1e5624ef2c6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-lean-findings.log", + "sha256": "5afc4f4abac0f7a6789db68aacf3fe4880145984c501fd7df42f44a3321fcdab" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "d93390b0a29efce448b7b97c83c2b35fc420e29a997f146dd0e46537a7a206fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "sha256": "ffab4248b6cdc8191139503cbe6b6401ba9d7cadb04c08f36acef00dba44f423" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-axiom-category.log", + "sha256": "74d05966c3bebdc2e451463ee6bd3ff53985554e61235befef92759a8485d6fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-native-category.log", + "sha256": "86e396a97baf1652def570c0caa4f628adcf5934dad230dd52336d8a15473830" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "d267b6b4a659f2a374db686cf7b3ea1836c1d65d1d0b9cfde02812c01870e241" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "c9c9d1020a14f9936c636a2b96bbe2697c93725a7f13c775c01792a29071613c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "sha256": "f38fc00e7e8fb14f2e2f85739eff788d5719e257a6e8a795be0e85d8c6888411" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-python-division.log", + "sha256": "90f67a521041cd7654b217d272778ab4bb70a7e31e5da73254b348ff5f494c53" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "73f5a7d9f04d357bea32a365ad79fe5b10f9a3ff989e4981d46c4ee1a5afcdd4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "077baa995c784ee19b45204ad154ea21039cd30e3d55137782ead735a7a433a6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "a3c138be8887286eb9f7def6ada9c2373699ad38fdb14d5cc3288a5ab49a77df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "072e35971f8c64f6e97151238b531da59a1bbf1bfc525aea1ce1b74f093ce1f8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b030056162cfabc3eeeb8f0c52bb7b9f8ccd274dc8bff0cb79b89c99bc051bad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "59d150c79ba76b270e452e96f593e121bbb6d9f1596f695f248beb6e30a91d6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "e51538ba4caff4b22d0a1ed683957983643a9c2efab94f00fe2f2e97bdce486f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "sha256": "39e9118c52eb4f1e9d60f90390882cf6227fed2180d06195fe7017c2011821af" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "sha256": "a2442444dfe30c439abe9dc06a939b613e4cf3a874cd11619805961f3001942d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-symlink-files.log", + "sha256": "27d31214b243a8162cc7b6d6b5dceb98098be7ca892160a94e38e9a62df1a8ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "sha256": "887d91bffcb4f8de78f67ec87a7136844fc4d9a8afe95300db40a8fa42509fdf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "sha256": "7c0abd09bf090212146c67049cf422154cffb604ae48bdc66be8ea116f5fa697" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c05a5e956756b25788b1fd5a100d8410ca2d8f632134034f9bb35c30bb6536a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "2ced2b97345f4d918819c0997e115b8aae93c5fd248477b8eb6089a7c5f06403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "sha256": "25b32bae46d83b97b109bec534f23760a3aff44551707637643d00cbcb87721d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e1a6b93cc62892ba2c542957b0cbae0cedbd38357fd48fba03e776fae19549f0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "458ab4714ee1afcd62e0a34d4a79ba99d03e5c291a3c39f7361e148325fcc14e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "8061ee644baabc57ef87a2c44cdb08506afcaea0d3a89a8236b4b02f926c799c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "7f4d52b7e3862ecf95bd03bc326fbc434ea0ac42d421acb5394abc28e75716bd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bad6c8a559e9f35ace2d40f2db4b3bea9fe59d4d084304331b6230a075a4cb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f4095f142b139c11cc9a03008b4a728ea2d8fd4d7113f1fdc3979545009359d3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-path-validation.log", + "sha256": "628944a0688f6f8fda1d1a722c3af742c8d6ed5a6f96d034e8b43b2e9a8e0116" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "838e2c072d690d6388da8cd6d3e3dfdbaa06ef083dda80852a55bd152b04c510" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "d9359ef9572c7841d57affc7d37a856b54d8c0e07eab6dd9ba818bbe10bf94f9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "74fd63f8feb8e7921c56a55e2cf840318cbd76f476bc3171f0b6b5ba3e805a58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "64b312cc433929417085e9ff0b569e04ef2ab208acde1900a8e377f8288c8e8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-status-evidence.log", + "sha256": "046a559ed488dbeda388035c65fe05a7ef00f3b5febd232bf7a4992358fe15e6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "a513511511b4cd28e1da6d0b808eb5e45cd8400050f30a51404f1753b5cb7a3c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-final-findings.log", + "sha256": "a5e1246730410f6d2d1b08f7161318bbc30e1512ea9068e8f601dade33bebb2e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/always-report-static-pass.log", + "sha256": "e5cf79344245c5eb68c09182cdf6fd3ee7535c969458290c98c6d20cb0ccb12f" + } + ], + "receipt": "evidence/g0-final.json", + "receipt_sha256": "b4342ca431025a44dad0dbd3ebe9e4c5aaf012c1be6f799405be2bcf2e8e01e0", + "source_generation": "evidence/pre-hardening-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "c0bc0ad327e0dc7729935354e459907045432e146665b2114a4e9b8f7da7a66c", + "README.md": "c3eb2c13df3665e72d9aedb03321a6144b96a42c226a245cdfc27688f812926e", + "SPEC.md": "8380d4bbe2d53c822655c27b0f19740216c1bfdc1cef4598825049d40e1c3f58", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "mutation_test.py": "a2d83c63c9b20e3b52366ff984f3e6595493e1da3d39b50a4c1b3586ec3dfe6d", + "source_checks.py": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "tests/test_auditor.py": "2894e255ef5be4dfad05c42b06266c12d166be4fe99c57301a79a904888efc1f", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "prior_hardening_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/baseline.log", + "sha256": "bd37bf8669df3ae7b450faeee1af77f02b48329dcf2626861e254fec3d9c2d23" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "sha256": "c4587e83122861a0237adbecc165becb3f411abf6e51e822c762724666686713" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "61d02f4280530e8a56c8ce30e5a7f262d02c5ad5519c08c71f074a09709827eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "sha256": "4cb5a8f9b226349a90b914735b2c9435396eee6287196d618af1f5aa7a582a82" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "sha256": "cbf98f43bbd15a5b8d64108601a9954cae55839cd608594f261f12a019752dbc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-native-category.log", + "sha256": "b22eabb8238c3bedef79309510a5d92e91a17b0800e2c18754f366ee98a501a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "8686edc6ae1fe32a14b9aa66d66c8bf2022786daf0f6572ec04b2475858cf83a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "55d3acd966c7d9384d0db2c6f420437a08af5060cf0357d59916ca641c9f248c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "e0c33cc66d79032b41ead944f8b1cda358a2a3c3c34552bce21687fb1495ca25" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "6a9f4b5c4b918bda1d53303d7b48648fff9b4804fda88523c6bcc5587883dcaf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "211ec1bab634374be7a3ca12dff211e293059f11cb2ac1c1f9b814f1ed0a217f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "sha256": "3c4ad9e87a4a98f1ebe8befc0c81d101ce9ecf7c5646dbd52dabc2ab8acaa194" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "sha256": "25cd3661a79e7c5a5e6bd5487a40e6fc88b926ac65eefbdd52b1064a042a0dde" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "sha256": "9c6c214212dbe6cfe36cd65d18eabd9cc2e19522e25762b48992a99798a233da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-python-division.log", + "sha256": "c4d8f33d381d130e20d6f9e20d08e64c46c89574f5a6ea643b7cc42c29fa0e58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "b0fcabb9bfd9e6c182743e938946d281fa0d55fe5c16fb0dfba780b641d4670a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "sha256": "0b008f6ba32d9db12ed65bc22a44ceac76dc5bc5105d33124d6eda104f90b73c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "sha256": "4ea10c9d750f149a5c59088ed436a714a7983e9dafe215b507e627c8683d5fe0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "sha256": "1ed1f484525fb0310b0e3b94ece2f07ae0a9a5f9d4bc3b3a884785a3e2feeb49" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "88fa12659e796a10ae4063dd6cda8a23d4be018b874dff2695cc15bb6f704c40" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "sha256": "dd4c206c1d4214a6490da2b9e23405c1ff7f5e76adeab2d28bed8f8b342a2a1c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "sha256": "cb4772082dc8887c29873814130fe2f01a28cde88baab251791b2f6427b76c01" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "sha256": "257046b4f24b6b58471b2510253cfc5fe763801ca8c999d0362af425f38828c2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "sha256": "6045e698601fe16a93208529417272488024148332e848f9d0b509c21c291204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "sha256": "369055295133c748500c408d7d371a4ef29488d0c22161fb49c6969a465dc3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "sha256": "a1cb4206066ccf5538e24f839774d67d74fc898727f116cea7ddb7aa13c58fef" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "sha256": "4ead5222f76968d334b66969596d3498e8e8e9a657b550e5e525a7e5263fddc1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "sha256": "a16eff825df6cb63dafa28fc0852c0fb429ee011e5011a4677fa394afb2264b8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "sha256": "1c3bcdf1189e2128a11fe50a57220d0a55f7b970a926b8ac05a64c72228c665c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "sha256": "b4ebe7ee7bfa8818c18da972dc64c1a4d271a89fa31d67d3dd83f5534d6e45da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "0f1744f32d0284e72e91012dc946b83b1b032aa994c74ea5c907880cd38d0a0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "5ab7c0439d0e71ca7618c1595e3c9b6695d3c82e66382cb9a21fc58dae2f4068" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "ed8516f2431a2c5752c14151a2fd30707e04cb5dd56ef17854dea4954a22d590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "47b56ba8eb2fb962458f1452544de58ce8260ccd345fc9c71b36c4f2e2253d61" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bf8d81ba19834ddd2b02d81dbdded4facef1dab24c2bf96bcf303746baeafc19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "00124e5e1df955287d1870b0cc755650ced8c66ac4414861c31913ef983c956e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "sha256": "1c649385e7cceb63128ab5787ab284a2949976e1c5466351f7e19b3eaef18816" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "sha256": "89687c72e1d7ebcef094010d2137196689a2399abed75f8d36940e839ef19a9c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "sha256": "978eb2468f165747544737c44c5f90611b9fd109f6c455bbc2758b522502434f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "391b9a461a8f909d3ddef00bdc707b2dcfed55371a357ca0564ff79bf95567c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f5207c74b953d3ca495d6bee17d36449743f90ef4e9e242fe46d92f455707ede" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "sha256": "669fc517a61f88f117abb237704a5ba8db91b479ea94500e8a5132de709ed272" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "ee53fce5e4246153d1f88d4f7d944c25724e810637a5e069900f89efaec5398a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "sha256": "691a2600bcf1b3153d2639dcd86a3a34ddddfb01021db2cbdd7ecf5d98c329ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "sha256": "c1dc3d4532a7cfbb53f2ce28c4a5f406f54296aa8d247bdc4f76844ee2ebab52" + } + ], + "receipt": "evidence/g0-hardening.json", + "receipt_sha256": "9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619", + "source_generation": "evidence/pre-admission-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "f32f736f63c08ec0fd67b4ef4746630e17c39085ab700f5eee8ddda41c87fed0", + "SPEC.md": "75dc927fc35b0dff3f2423957dcf311ea95c9364c1ae3208f670ebe22eac774d", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "a5241db32bbbadbce183aad2ffeae2fc732406fdf01fbec79b3d27a95b06ed2a", + "source_checks.py": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "tests/test_auditor.py": "05095a3fd3cc71bfedd37b57a07e5a4d97ea40e43a7ab3df05fa9967b55d754e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "publication_prefix": "cbz/contributions/math514/layer_a/", + "raw_receipts_unchanged": true, + "schema_version": 1, + "scope": "Byte/source-generation custody map; no G0 or repository/mathematical execution.", + "translation_rule": "Remove execution_root from a raw source/log path and resolve the remainder in this contribution; raw paths are historical provenance, not portable commands.", + "predecessor_composed_admission": { + "historical_grader_source": "evidence/pre-lifecycle-grader-source/mutation_test.py", + "lexer_receipt": "evidence/lexer698-admission.json", + "raw_receipts_unchanged": true, + "receipt": "evidence/composed-admission.json", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + }, + "numeric_predecessor_composed_admission": { + "receipt": "evidence/declaration-numeric/current-composed-admission.json", + "sha256": "678b710139a3c94ad2f885ac92f0296dc46a17c8a2ebca7d2c89b89ed0df8706", + "origin_map": "evidence/declaration-numeric/ORIGIN_PATH_MAP.json", + "raw_receipts_unchanged": true + }, + "combined_successor_origin_prefix_aliases": [ + { + "raw_origin_prefix": "/workspace/cbz-0/delivery/auditor-review-closure/evidence/", + "relative_publication_prefix": "evidence/review-boundary-fix/", + "rule": "Preserve raw paths and receipts; prefix translation only." + }, + { + "raw_origin_prefix": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/", + "relative_publication_prefix": "evidence/grader-identity-fix/", + "rule": "Preserve raw paths and receipts; evidence/grader-identity-fix/ALIASES.json and its shared source/evidence binding records supply exact aliases." + } + ], + "combined_component_entrypoints": { + "review_boundary": "evidence/review-boundary-fix/FINAL_SOURCES.json", + "review_boundary_applicability": "evidence/review-boundary-fix/APPLICABILITY.json", + "identity": "evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json", + "identity_origin_aliases": "evidence/grader-identity-fix/ALIASES.json", + "composition": "evidence/final-review-identity/SOURCE_COMPOSITION.json" + }, + "versioned_component_source_aliases": { + "path": "evidence/component-source-snapshots/ALIASES.json", + "sha256": "10cc19534376cbdf2259392c7fcdcdc146b5d553d19d56f800c99ac2fee2289b", + "precedence": "For raw component source paths, resolve the exact path AND expected SHA256 through this map before broad/path-only historical aliases. Refuse mismatches or ambiguous generations; never alias an old component source to byte-different current runtime." + } +} diff --git a/cbz/contributions/math514/layer_a/GRADER_IDENTITY_FIX.md b/cbz/contributions/math514/layer_a/GRADER_IDENTITY_FIX.md new file mode 100644 index 000000000..434aee6ba --- /dev/null +++ b/cbz/contributions/math514/layer_a/GRADER_IDENTITY_FIX.md @@ -0,0 +1,65 @@ +# Binding selected test bodies + +The runner freezes the actual class, ordinary function and code objects for each +selected test before execution. It derives module coverage from the actual module +dictionary, rather than user-provided directory listings. It checks those identities +before fixtures, at test starts, at body entry and at body completion. A changed +identity remains non-green even if a later fixture restores it. + +The supported population is standard unittest declarations with ordinary TestCase +construction and attribute dispatch, ordinary synchronous functions or bound methods, +and exactly None returns. Module `load_tests` hooks and callable suite factories are +refused before invocation. Custom constructors, allocation, metaclasses, attribute +dispatch and test-method descriptors are refused before instance construction. +Only exact builtin staticmethod/classmethod descriptors are admitted; subclasses +can override lookup and are refused. Special-member inspection uses static lookup. +Named selectors traverse ordinary module dictionaries and static class declarations; +proxy/descriptor factories are refused before lookup. Ordinary module, class and +individual-method selectors remain supported. + +Loading trusted Python modules still executes their imports. This is a bounded +trusted-runner/source-custody contract, not a sandbox for arbitrary Python, a proof +of assertion semantics, or authentication of fabricated consistent JSON. + +The actual RED controls preserve omitted second-body assertions: module hooks alias +methods or replace a class under the same name, constructors alias bodies before +snapshots, module __dir__ hides a class, and named/static-descriptor lookup replaces +a body before admission. Independent review discovered and retained the latter +boundaries before final admission. No test was removed. One existing layer-a test +now asserts the stricter complete two-declaration population and hook refusal, +rather than expecting an executed hook's selected subset. + +Seven new test methods per tool cover these cases and preserve ordinary positives, +body assertions, exact named selection, existing lifecycle/subtest/error controls +and the synchronous None-return profile. The kernel has 27 affected harness methods +per mode; the auditor has 19. These are composed, scoped receipts with targeted +refreshes after an actual predicate or test change. They are not new full-suite, +Lean, project, scanner-mutation or production-replay campaigns. Applicable prior +mathematical and ordinary-body evidence remains reusable. + +The new runner safeguards have 14 distinct themes per tool in each mode, across +four source generations: 8 initial themes, 2 construction/discovery themes, 1 named +selector theme and 3 exact-descriptor/static-inspection themes. Their 56 assertion- +kill observations are separate from production scanner/replay mutation cases; +reused earlier observations remain source-bound and their applicability is explicit. +Original REDs, AMEND reviews, intermediate passes and final controls are retained +under `evidence/grader-identity-fix/`. See `CURRENT_COMPOSED_ADMISSION.json`, +`OPTIMIZATION_PROVENANCE.json` and the review records there. + +For a future genuinely affected scope, from the complete tool directory: + +```sh +# Kernel tool +python3 -B -S run_tests.py --test test_mutation_harness.IdentityHarnessTests --output /absolute/new-evidence/identity.json +PYTHONOPTIMIZE=1 python3 -B -S -O run_tests.py --test test_mutation_harness.IdentityHarnessTests --output /absolute/new-evidence/identity-optimized.json +# Layer-a tool +python3 -B -S mutation_test.py --internal-test-runner --test-root tests --test test_mutation_runner.IdentityHarnessRules --output /absolute/new-evidence/identity.json +PYTHONOPTIMIZE=1 python3 -B -S -O mutation_test.py --internal-test-runner --test-root tests --test test_mutation_runner.IdentityHarnessRules --output /absolute/new-evidence/identity-optimized.json +``` + +Use only the applicable pair for its tool, and use fresh output paths. Do not rerun +completed checks merely because of a clone, handoff or review. Historical development +controllers are retained provenance with frozen-source inputs, not automatic commands +against a later source version. Canonical registration and final federation coverage +remain the integrator's responsibility. No G1 repository audit, G2/G3/G4/full CBZ +claim follows from this repair. diff --git a/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json new file mode 100644 index 000000000..1793fc3c8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/LEXER_PROVENANCE.json @@ -0,0 +1,94 @@ +{ + "adapter_boundary": "Minimal seven-field metadata adaptation; unsupported shape/lexical errors refuse; no second lexical engine", + "bytes": 24721, + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "current_tool_composition": "evidence/declaration-numeric/current-composed-admission.json", + "exact_public_source": "evidence/public-main698-38312e16/layer_a_scan.py", + "head": "38312e16f7ae22aeb433823c4a00a2cc80e23d0b", + "immutable_pr_metadata": "evidence/public-main698-38312e16/PR_METADATA.json", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "2eee3a2200082444093935291b9389c0795641cf", + "new_integration_verification": "45 affected lexer methods and19 affected scanner mutants per mode;27 unaffected auditor methods and38 historical scanner mutants reused. Eight new andthree retained grader methods verified separately undernormal/O; no fresh whole83/57 claim.", + "path": "tools/cbz/layer_a_scan.py", + "previous_version": { + "blob": "0a113896aff4c999111193359c38906ff61e52e8", + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "preserved_source": "evidence/pre-canonical698-source/canonical_lean.py", + "prior_receipt": "evidence/g0-admission-final.json", + "prior_receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "provenance": { + "bytes": 17697, + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "exact_public_source": "evidence/public-pr29-ef5b924/layer_a_scan.py", + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "immutable_pr_metadata": "evidence/public-pr29-ef5b924/PR_METADATA.json", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "0a113896aff4c999111193359c38906ff61e52e8", + "new_integration_verification": "local hardening G0 covers actual adapter and narrow stricter source policy, including actual checker-source mutations", + "path": "tools/cbz/layer_a_scan.py", + "previous_version": { + "blob": "9393cf7ef6d0665c232556f8df745463f83c9f5e", + "head": "b7eebb4daee0d49f8147e235df7799a15187aa75", + "preserved_source": "evidence/pre-hardening-source/canonical_lean.py", + "prior_receipt": "evidence/g0-final.json" + }, + "published_verification_claim": { + "behavioral_tests": 28, + "mutants": 39 + }, + "published_verification_status": "CONTRIBUTOR_CLAIM_RECORDED_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/Universal-Law-Workspace", + "sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "source_receipt": "evidence/public-pr29-ef5b924/FETCH_METADATA.json", + "unused_interfaces": [ + "classify_token", + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interfaces": [ + "lex_tokens(text)", + "_CHAR_LIT" + ] + }, + "verification": { + "mutants": 53, + "status": "HISTORICAL_SCOPE_REUSABLE_WHERE_UNCHANGED", + "tests": 70 + } + }, + "published_verification_claim": { + "a3_mutants": 23, + "behavioral_tests_per_mode": 72, + "lexical_mutants": 66, + "python_modes": [ + "normal", + "optimized" + ] + }, + "published_verification_status": "CONTRIBUTOR_EVIDENCE_REUSED_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/main", + "reused_actual_lean_counterexamples": { + "directory": "evidence/public-main698-38312e16/independent-review/", + "new_compiler_runs": 0, + "source_and_log_pairs": [ + "numeral-command.lean.txt / numeral-command-lean.log", + "macro-string.lean.txt / macro-string-lean.log" + ] + }, + "sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "source_receipt": "evidence/public-main698-38312e16/FETCH_METADATA.json", + "unused_interfaces": [ + "classify_token", + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interfaces": [ + "lex_tokens(text, errors): seven fields", + "_CHAR_LIT" + ], + "numeral_metadata_integration": "Reuse unchanged canonical _NUMERAL spelling recognizer in metadata tokenization, no numeric evaluation or independent grammar;52affectedmethods and3newguards per mode;42methods/57oldmutants retain applicable evidence." +} diff --git a/cbz/contributions/math514/layer_a/NUMERIC_DECLARATION_FIX.md b/cbz/contributions/math514/layer_a/NUMERIC_DECLARATION_FIX.md new file mode 100644 index 000000000..59fc47143 --- /dev/null +++ b/cbz/contributions/math514/layer_a/NUMERIC_DECLARATION_FIX.md @@ -0,0 +1,26 @@ +# Numeral boundaries in Lean declaration metadata + +The former metadata lexer treated a leading numeral and following letters as one identifier. The exact source `def n := 0theorem hidden (h : False) : True := False.elim h` therefore produced no declaration metadata; a hash-bound manifest with `vacuity={}` reported `STATIC_PASS`. The hazard scanner's canonical numeral boundary did not protect this separate metadata stream. + +The metadata lexer now imports the unchanged canonical `_NUMERAL` spelling recognizer, separates numeral tokens before identifiers, and retains each numeral's full text and source location. It performs no numerical evaluation. Existing identifier suffix digits, primes, qualified names, quoted identifiers, strings and characters keep their behavior. Binary, octal, hexadecimal, decimal-fraction and exponent spellings are covered. Hexadecimal maximal munch is preserved: an `e` directly after a hexadecimal numeral can belong to that numeral rather than start `example`. + +Evidence in `evidence/declaration-numeric/` is finite and source-bound: + +- The original seven-control RED receipt records 34 assertion failures and no errors. The first post-fix seven-control run caught an incorrect test-column expectation; the retained source-line calculation corrects it from 22/28 to 20/26. The original RED and initial post-fix failure are retained. +- 52 affected methods (45 existing Lean integration methods plus seven new methods) passed in normal and optimized modes. Three new production-source guard mutations were killed by real body assertions in both modes, with zero errors. +- The first outer campaign driver compared ordered test identities to a sorted list and refused the already successful receipts. The corrected caller reused those completed runs. No 52-method replay was performed for that orchestration error; the original driver and correction are retained. +- Independent review found that the appended class followed the direct `unittest.main()` guard. The unchanged guard was moved to the final line. Class/function ASTs were unchanged, so the import/discovery receipts remain applicable. A new direct-entry seven-control run passed, resolving that previously untested registration path. +- All 72 prior auditor method ASTs, all 15 grader methods, all grader function/class ASTs and the 57 existing mutation definitions remain unchanged. The 42 unaffected predecessor methods retain applicable evidence. The current 94-method/60-definition inventory is a composition, not a fresh full G0 run. + +The three new mutation cases restore generic numeral swallowing, discard numeral metadata tokens, or overshoot a numeral boundary. Earlier 57 mutation definitions and their historical source-bound 19/38 evidence remain preserved. `current-composed-admission.json` states the exact current and predecessor source hashes, scopes and limits. `registration-move-applicability.json` binds the final test registration change to the earlier completed campaign. This package does not rerun Lean, project mathematics, CI or an actual repository G1. + +Run new metadata methods when a relevant change warrants verification, with a fresh output path: + +```sh +python3 -B -S mutation_test.py --internal-test-runner --test-root tests --test test_auditor.NumericDeclarationRules --output /absolute/new-evidence/numeric-controls.json +python3 -O -B -S mutation_test.py --internal-test-runner --test-root tests --test test_auditor.NumericDeclarationRules --output /absolute/new-evidence/numeric-controls-optimized.json +``` + +The existing public full G0 command includes the seven new methods and three new mutants. Its receipt is required only when that full scope is newly warranted; it was not run for this repair. Recorded historical campaign drivers are evidence of those executions, not independent production certifiers. Canonical governance/tool registration remains the final controller's responsibility. + +The final controller must update vacuity classifications only for source declarations newly exposed by these boundaries. A prior clean result for the exact adversarial layout is superseded. The tool still has its documented bounded syntax contract, not arbitrary Lean parser completeness, semantic nonvacuity, mathematical closure or inventory authentication. diff --git a/cbz/contributions/math514/layer_a/PLAN.md b/cbz/contributions/math514/layer_a/PLAN.md new file mode 100644 index 000000000..3d3fc65c8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/PLAN.md @@ -0,0 +1,20 @@ +# Layer A auditor implementation plan + +> Execution: native by the assigned auditor agent under the owner's explicit no-approval instruction. Apply executing-plans/TDD principles without Git, additional agents, or shared-surface writes. + +Goal: complete focused G0/G1 auditor, selftests, adversarial planted cases and actual checker-source mutations. +Architecture: `auditor.py` contains strict manifest/binding orchestration; `source_checks.py` contains bounded Lean and Python source checks; `tests/test_auditor.py` exercises isolated roots and real CLI; `mutation_test.py` mutates auditor source in temporary copies and reruns behavioral tests. `README.md` gives schema/CLI/error codes; evidence receipts are generated by tests and mutation runner. +Spec: `SPEC.md`. Python stdlib only. No float mathematical decisions. All fixture roots isolated. Every complete applicable check is reused unless source changes warrant affected rechecking. No existing proof checks are rerun. + +Review focus: malformed/ambiguous Unicode paths; hidden interpolation/comment syntax; import aliases and transitive quarantine contamination; partial manifests/missing unreadable files; test harness mutants that delete or skip scanner work. Each gets concrete behavioral cases. + +- [x] Task 1: write tests for lexer, AST exact profile, manifest classifications, quarantine/import boundaries, A6/A7 and CLI; watch the missing implementation fail. +- [x] Task 2: implement source checks and strict manifest audit, resolving only demonstrated gaps; run the scoped auditor suite. +- [x] Task 3: write and execute real-source mutants (empty findings, disabled category, skipped file, permissive unknown classification, pin/hash/path/annotation/evidence/boundary weakening); require 100% killed by behavior. +- [x] Task 4: self-review source/spec/test coverage, complete README/schema/examples, capture commands/results/source bindings, emit root registry report. Actual repository G1 waits for root's final manifest and G0 success. + +Rulings: no tool replaces all-declaration G2/kernel G4. No owned-source axiom exception can be created by naming it an approved foundation. No additional independent reviewer is spawned because root explicitly forbids other agents; self-review is disclosed. Approval/commit steps in skills are superseded by root authorization and ownership constraints. + +Completion evidence: `evidence/g0-final.json`: 56 tests pass, 39/39 actual checker-source mutants killed by assertions, source unchanged. Exact final log and source bindings checked after execution. Actual federation G1 is NOT RUN pending root final scope. Final review: self-review under explicit no-other-agents restriction; no independent reviewer or mathematical recheck was invented. + +Admission repair handoff: five confirmed same-provider review gaps and the same-scope literal import extension repaired. Current receipt `evidence/g0-admission-final.json`: 70 total tests, 53/53 source mutants killed, nine current source bindings and every current assertion-kill log checked. Prior 56/39, 60/44 and first-repair 69/52 receipts/sources remain separate. No actual repository G1 or mathematical recheck; root owns focused review, publication and canonical integration. diff --git a/cbz/contributions/math514/layer_a/PUBLICATION.md b/cbz/contributions/math514/layer_a/PUBLICATION.md new file mode 100644 index 000000000..83dc4e9fd --- /dev/null +++ b/cbz/contributions/math514/layer_a/PUBLICATION.md @@ -0,0 +1,33 @@ +# Exact-scope auditor combined successor publication + +## Current combined generation + +The combined population is 110 methods: 88 auditor methods (79 numeric-predecessor + 9 review/notebook methods) and 22 harness methods (15 predecessor + 7 new identity methods). The [review-boundary repair](REVIEW_BOUNDARY_FIX.md) cumulatively covers 19 distinct affected methods per mode: 18 applicable prior results plus the one newly checked notebook method. Its 11 affected scanner mutation definitions per mode comprise 10 applicable prior kills plus one newly checked notebook guard; 3 of those 11 are adapted legacy definitions. The 68 active scanner definitions comprise 57 unchanged, 3 adapted and 8 new definitions. The [grader identity repair](GRADER_IDENTITY_FIX.md) covers 19 distinct affected harness methods per mode by composed staged receipts and targeted refreshes (12 predecessor + 7 new); 3 unaffected predecessor harness methods retain their evidence. Identity safeguards are separate grader controls, not scanner mutations. + +The completed 52-method numeric-metadata verification remains reusable: Lean/numeric functions are unchanged, and its standard declaration population uses the supported default, no-hook loading profile. Original 18-method review results, the later one-method notebook controls, and identity refreshes remain separately bound. This is not a fresh whole-110-method, whole-68-scanner-mutant, CI, Lean or mathematical run. Current final source bindings and Root's source-partition record are in `evidence/final-review-identity/current-composed-admission.json` and `SOURCE_COMPOSITION.json` beside it. Source-bound original-review, notebook and identity reviews are CLEAR for their declared scopes; they do not authenticate the final repository inventory or scientific statements. Actual repository G1 remains NOT_RUN. Kernel/build provenance, approved axioms, pins and federation admission remain independent. Prior exact-source metadata is retained under `evidence/pre-review-identity-metadata/`. + +## Selected-declaration identity profile + +The [grader identity repair](GRADER_IDENTITY_FIX.md) freezes actual class, ordinary function and code objects before execution, including wraps-linked functions, and checks them before fixtures, at test starts, at body entry and at body completion. Module coverage comes from the actual module dictionary. Module `load_tests` hooks, callable suite factories, custom constructors/allocation/metaclasses/attribute dispatch and test-method descriptors are refused before construction or invocation. Only exact builtin staticmethod/classmethod descriptors are supported; named selectors traverse ordinary module dictionaries and static class declarations, refusing proxy/descriptor factories before lookup. Ordinary module, class and method selectors remain supported, with the existing synchronous None-return and exact assertion-provenance contracts. + +Trusted Python imports still execute. This bounded trusted-runner/source-custody profile is not a sandbox against arbitrary Python or authentication of fabricated consistent JSON. The final independent identity review is CLEAR for its exact source scope. Its 14 safeguard themes per tool in each mode yield 56 generation-bound assertion-kill observations across both tools: 32 + 8 + 4 + 12 across four source generations, not a fresh final-source 56-case campaign or production scanner/replay mutations. Earlier applicable observations and targeted refreshes remain separately bound. See `evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json`, its shared optimization/guard provenance and `shared/independent-review-final.json` (SHA256 f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4). + +## Preserved predecessor record + +This is a narrow overlay on the complete 730-file published package at `eedb46c36e664b66684a701c3adeacb70f8fac2f`. Applying its modified/new files to that exact package preserves all prior source, receipts, failures and historical snapshots. The overlay is not a standalone complete package. Runtime replacements must match the exact predecessor source hashes in `evidence/declaration-numeric/current-composed-admission.json` before application. + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +The numeric-metadata predecessor composition was 94 methods (79 auditor + 15 harness), with 52 affected methods checked in both modes and 42 unaffected methods reused. Its 60 scanner definitions comprised 57 unchanged and 3 new guard mutants checked in both modes. This retained generation is `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. It was not a fresh whole-94/60 run and is not the current combined population. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +This change adds an inline ordinary_sync_method predicate in mutation_test.py; it introduces no additional runtime module or dependency. + +The predecessor publication metadata is preserved byte-for-byte under `evidence/pre-lazy-body-profile-publication/`. New raw evidence is preserved under `evidence/lazy-body-profile/`; EVIDENCE_PATH_MAP.json translates its historical execution paths without rewriting receipts. The external overlay manifest supplies every changed/new file hash, native destination and copying origin; the external full FILES.json is the logical current map after overlay application. + +No project tests, checker mutants, compiler, mathematical check, actual repository G1, CI or remote write was run while composing this package. Root owns expected-old-head native publication, canonical integration and final gate decisions. Completed review applies only to its bound source scope; provider-distinct process requirements remain separate. No CBZ declaration is made. diff --git a/cbz/contributions/math514/layer_a/README.md b/cbz/contributions/math514/layer_a/README.md new file mode 100644 index 000000000..a379f3099 --- /dev/null +++ b/cbz/contributions/math514/layer_a/README.md @@ -0,0 +1,159 @@ +# CBZ exact-scope Layer A contribution + +This tool contributes classification/hash/import isolation, a strict exact-arithmetic Python AST profile and A6/A7 evidence bindings. It reuses Root's unchanged canonical Main#698 identifier lexer through a bounded metadata adapter. It does **not** replace federation G2/G4 or declare mathematical closure. The authoritative mechanical contract and limitations are in [SPEC.md](SPEC.md). + +## Commands + +With Python 3.11 or newer, change into the complete tool directory at your chosen repository-relative destination, for example `cbz/contributions/math514/layer_a/` or `tools/cbz/exact_scope/`: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use a fresh controller output path per run; preserved raw development receipts are immutable historical evidence. Raw receipt paths identify the local environment where they ran, not publication execution paths. Run the second command for an actual repository only after applicable current tool-admission evidence is established and the controller has prepared its final tracked-file scope. Reuse completed checks on unchanged inputs; a new clone or handoff alone does not require another G0 run. G0 runs every local selftest, then actual temporary checker-source mutants. G1 reads files only; it never runs Git, Lean, project Python, external commands or mathematical checks. Its report is deterministic for identical manifest bytes/files/tool. `audit(manifest)` is also available to isolated fixture tests; it accepts the parsed object and returns the report. + +Audit exit codes: **0** bounded `STATIC_PASS`; **1** one or more blocking findings; **2** invalid/unreadable JSON or command-line usage; **3** requested report output could not be written. `STATIC_PASS` always carries outstanding G2/G3/G4/G5/G7/G8/G10 obligations. Every finding blocks the static result; `fatal_gaps` is the subset that specifically identifies missing/unsupported certification. Retained isolated findings appear separately and never mean those files are clean. CLI input errors produce JSON except argparse usage errors. G0 exit 0 means every declared mutant was killed; any surviving/invalid/crashing mutant or baseline error is nonzero. No weakening/skip option exists. + +To run selftests alone (development, not a replacement for G0): + +```sh +python -B -S -m unittest discover -s tests -v +``` + +## Manifest schema v1 + +JSON accepts integers only; duplicate keys, floats, NaN and Infinity are rejected. Top-level keys are **exactly**: + +```json +{ + "schema_version": 1, + "approved_axioms": ["propext", "Classical.choice", "Quot.sound"], + "roots": [ + { + "id": "math", + "path": "/absolute/final-tree", + "tree_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "tracked_files": ["Closed.lean"], + "files": { + "Closed.lean": { + "sha256": "<64 lowercase hexadecimal content digest>", + "kind": "project_lean", + "module": "lean:Closed", + "vacuity": { + "t@1": { + "status": "conditional", + "premises": [], + "reason": "No nonvacuity certificate claimed; elaborated statement review remains G2/G8." + } + } + } + } + } + ], + "module_map": {"lean:Closed": "math:Closed.lean"} +} +``` + +This is a schema illustration: replace the absolute root, immutable tree id, exact inventory and actual SHA256 values. Roots are nonempty, normalized absolute directories with unique ASCII ids (`[A-Za-z0-9_-]+`) and nonoverlapping paths. A tree id is 40 or 64 lowercase hexadecimal characters; G10 authenticates its connection to the supplied inventory. Every root has a nonempty unique list of normalized relative NFC paths, no `..`, backslashes or symlink component. `files` keys equal `tracked_files` exactly. No exclusions or inferred quarantine folders exist. The controller supplies the full final tracked scope; untracked state and inventory authenticity remain G10. + +Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable to its kind fail. Additional fields by kind: + +| kind | Fields and obligations | +|---|---| +| `project_lean` | `module`, `vacuity` required; `.lean` source | +| `math_python` | `module` required; `.py`/`.pyi` closed exact-program profile | +| `engineering_python` | `module`, `nonmath_review` required; `.py`/`.pyi`; floats only in explicit bound nonmathematical reviewed scope | +| `negative_fixture` | `language`, `module`, `expected_findings`, `fixture_purpose`; retains actual negative tests | +| `quarantined_source` | `language`, `module`, `expected_findings`, `quarantine`; exact terminal isolation | +| `external_pinned` | `pin` required; source requires supported `language`/`module` and Lean `vacuity`; optional binary `bindings` | +| `binary_proof` | `bindings` required, optional `pin`; bytes are not treated as text | +| `documentation`, `data` | optional `status_evidence: true` for JSON status surfaces; other known source/proof suffixes cannot be relabeled this way | + +`language` is `lean` or `python`. Retained source always requires language and a registered module, including a `.txt` filename; a mapped external module likewise requires supported source analysis. Historical `.lean.txt`/`.py.txt` source is recognized. Known unsupported source extensions, including `.mjs` and `.mjs.txt`, fail with `LANGUAGE_GAP` even if labeled Lean/Python; they require an appropriate certifier, not arbitrary data labeling. Nonbinary files must decode strict UTF-8. Actual reads and explicit permission bits are checked, including under a privileged reader. Immutable `pin` is exactly `{ "revision": "<40 or 64 lowercase hex>", "origin": "" }`. Dependencies are scanned, never automatically declared safe by pinning. Known binary object suffixes also require G2/G4 bindings when `external_pinned`. + +A source module has exactly one identity, e.g. `lean:Closed.Base` or `python:certifier`, and its one `module_map` value is `rootid:relative/path`. Maps cannot point to documents or alias a differently declared module. Explicit imports resolve through this map. Closed code may not reach negative/quarantined source through any mapped import chain. Python `from fractions import Fraction [as alias]` is the sole built-in exact-math profile import; G7 must bind/authenticate that Python runtime and fractions implementation. Mapped local `fractions` modules take precedence over the stdlib exception; a mathematical source cannot depend on an engineering-only replacement. Python mapped package prefixes and `from package import submodule as alias` candidates also enter the isolation graph. Mathematical source cannot import engineering-only mapped candidates or package prefixes. Other unknown imports, relative/star imports, reflective loaders, macro expansion and unsupported mechanisms remain reported gaps. Plain Lean module identifiers including apostrophe, `!` and `?` suffixes are extracted completely. Unsupported or escaped operands and trailing syntax are explicit `LEAN_IMPORT_GAP` findings even after a valid prefix. Both Python scopes refuse explicit reflective namespace entrypoints (`__builtins__`, `vars`, `getattr`, `setattr`, `delattr`, globals/locals and defined globals/class/frame attributes); an engineering review does not waive that boundary. There is no general import/dataflow completeness claim. + +## Retained source and certificates + +`expected_findings` is an exact map of checker code to positive integer occurrence count, e.g. `{"LEAN_PLACEHOLDER": 1}`. `{}` is valid for a retained semantic failure that has no lexical violation; G5 still must retain and execute its actual failing test. Missing or extra scanner findings block. No retained source is counted as clean. + +A quarantine object has exactly: + +```json +{"id":"Q-1","boundary":"root:path and exact isolated mathematical boundary","blocking_reason":"specific unproved fact","owner":"none","maintenance":"zero"} +``` + +All evidence references have exactly `{"root":"id","path":"relative/file.json","sha256":""}`. The referenced file must itself be classified, readable, hash-bound JSON inside the manifest. Binding is mechanical; authentication and truth of its review/certificate are G8/controller work. + +An engineering `nonmath_review` reference points to exactly: + +```json +{"type":"nonmathematical_review","source_sha256":"","scope":"nonmathematical_execution_only","reviewer":"identified reviewer","rationale":"explicit reviewed execution scope; no mathematical certification"} +``` + +This is an affirmative review claim, not a waiver for mathematical floats. The controller must substantiate it. + +Lean `vacuity` keys cover exactly every lexical theorem/lemma/example as `name@line` (anonymous `example@line`). An entry has `status`, nonempty `reason`, and only the following applicable fields: + +- `conditional`: explicit `premises` string list, possibly empty; no satisfiability claim. +- `vacuous`: reason naming the unsatisfiable source-shaped hypotheses; syntactic contradiction candidates require this classification. +- `nonvacuous`: `evidence` reference to `{ "type":"nonvacuity_certificate", "subject_sha256":"", "declaration":"name@line", "witness_description":"actual witness and certificate description" }`. + +Candidates are syntax observations; arithmetic interpretations, aliases and arbitrary proposition SAT are not decided. G8 must validate the semantic interpretation of annotations, and G2 must expose generated/aliased statements. Conditional status never closes a mathematical hypothesis obligation. + +Binary `bindings` is exactly `{"G2":,"G4":}`. Each reference points to a passing JSON object with `type: "kernel_evidence"`, corresponding `gate`, `subject_sha256` equal to the object's content hash, `observed_status: "PASS"`, integer `exit_code: 0`, a nonempty command list and nonempty `run_id`. G2/G4 must actually supply/authenticate that result; byte/hash presence cannot create it. + +## Status evidence schema + +If `status_evidence` is present, its value must be exactly true; null, false, zero and all other values fail closed. A file with `status_evidence: true` contains exactly required fields `schema_version:1`, `gate:G0..G11`, `observed_status:PASS|FAIL|NOT_RUN|ERROR|INACCESSIBLE`, nonempty `run_id`, nonempty string-list `command`, `exit_code`, and nonempty `inputs` mapping `rootid:path` to actual content SHA256. The only optional field is `evidence`, a bound JSON reference. `PASS` requires integer exit 0; `FAIL` requires nonzero integer exit; other observed execution states require integer exit. The observation JSON must equal all status fields except the evidence pointer, using canonical JSON comparison that distinguishes booleans from integers. `NOT_RUN` requires null exit and no observation evidence. This checks structure and bindings, never an aspirational Markdown label or command execution authenticity. + +## Published lexical reuse and evidence + +`canonical_lean.py` is the unchanged public `tools/cbz/layer_a_scan.py` from Main#698, head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b`, native Git blob `2eee3a2200082444093935291b9389c0795641cf`. `LEXER_PROVENANCE.json` records its exact source binding. The adapter consumes its seven-field identifier stream, character-literal recognizer and unchanged numeral spelling recognizer; path contexts, filesystem/Git walking and standalone CLI are unused. Every supplied file remains explicitly classified by the manifest. Unsupported token metadata or lexical errors cannot produce a clean result. + +This replaces the older ULW29 engine after two concrete source-admission gaps: a valid `0axiom` command boundary hid an owned axiom, and nested quoted terms inside `throwError` interpolation hid an explicit `sorry`. The canonical engine supplies the numeric boundaries and conservative interpolation-hole scan; no second lexer engine is introduced. The bounded secondary metadata parser remains responsible for imports and source-shaped declaration/vacuity metadata. A conservative hole interpretation may also flag hazard-looking brace text inside an ordinary string. Arbitrary macro semantics remain G2/G4 work. + +The lexer integration receipt remains `evidence/lexer698-admission.json`: its 45 affected methods and 19 scanner mutants per mode are predecessor-scope observations reused here. The predecessor 87-method composition, including four then-new lazy-body methods, is recorded separately at `evidence/lazy-body-profile/current-composed-admission.json`. Main#698's existing actual Lean counterexample sources and compiler logs are retained under `evidence/public-main698-38312e16/independent-review/` and reused without compiler replay. Its contributor 72-test/two-mode and 66 lexical plus 23 A3 mutant results are inherited source evidence, not a new run of this wrapper. + +The historical Main#697 head `027505fee908693ded0a9e99eaa974ea6f419c6b` passed 70 tests and 53/53 source mutants, receipt `evidence/g0-admission-final.json` (SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`). Those results remain valid in their recorded scope and are reused only where the relevant source/dependencies are unchanged. They do not cover the newly discovered cases or certify the changed lexer bytes. The old source/tests/provenance and receipts are preserved at `evidence/pre-canonical698-source/`; earlier b7eebb4 and hardening generations remain distinct. + +G0 receipts bind the actual checker/test/spec/README source hashes and each changed checker hash/log. Invalid syntax, import/runtime errors and timeouts do not count as killed mutants. Identity-mutant and crashing-mutant tests verify the harness itself. Initial red runs and the original permission-guard survivor are retained as development evidence; the original guard-removal mutant remains in the final declared set alongside the actual skip-file mutant. The privilege-descriptor fixture kills the original by assertion. All final threshold decisions use exact integer counts, never floating point. + +Owned by the root CBZ integrator after admission. This agent only writes this directory and its discovery build report. Root owns the final registry, tracked scope, source receipt verification, G0–G11 final run and any CBZ-0 declaration. + +Hardening scope: `Environment.addDeclWithoutChecking` and qualified/escaped forms are blocking `LEAN_KERNEL_BYPASS` findings. Escaped `admitGoal`/`mkSorry` helper constants are refused alongside `sorryAx`. Unterminated character literals fail with `LEAN_LEXICAL_GAP`. Every exact `native` identifier is conservatively refused, so native configuration flags do not evade detection through whitespace, line breaks or nested comments; this policy can also reject harmless uses of that identifier. Comments and raw strings remain noncode; ordinary string bodies are also conservatively scanned for executable brace holes. No arbitrary alias expansion, semantic kernel trust or SAT completeness is claimed. The finite planted layouts are listed in `evidence/hardening-assessment.json`. + +Canonical lexical diagnostics are deduplicated by their exact `(line, column, kind)` tuple in first-seen order and emitted after the secondary lexer findings. Distinct diagnostics remain distinct; the manifest auditor sorts its final findings deterministically. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +The numeric-metadata predecessor composition was 94 methods (79 auditor + 15 harness), with 52 affected methods checked in both modes and 42 unaffected methods reused. Its 60 scanner definitions comprised 57 unchanged and 3 new guard mutants checked in both modes. This retained generation is `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. It was not a fresh whole-94/60 run and is not the current combined population. + + +## Synchronous None-return mutation-grader profile + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +The numeric-metadata predecessor composition was 94 methods (79 auditor + 15 harness), with 52 affected methods checked in both modes and 42 unaffected methods reused. Its 60 scanner definitions comprised 57 unchanged and 3 new guard mutants checked in both modes. This retained generation is `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. It was not a fresh whole-94/60 run and is not the current combined population. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +## Current combined generation + +The combined population is 110 methods: 88 auditor methods (79 numeric-predecessor + 9 review/notebook methods) and 22 harness methods (15 predecessor + 7 new identity methods). The [review-boundary repair](REVIEW_BOUNDARY_FIX.md) cumulatively covers 19 distinct affected methods per mode: 18 applicable prior results plus the one newly checked notebook method. Its 11 affected scanner mutation definitions per mode comprise 10 applicable prior kills plus one newly checked notebook guard; 3 of those 11 are adapted legacy definitions. The 68 active scanner definitions comprise 57 unchanged, 3 adapted and 8 new definitions. The [grader identity repair](GRADER_IDENTITY_FIX.md) covers 19 distinct affected harness methods per mode by composed staged receipts and targeted refreshes (12 predecessor + 7 new); 3 unaffected predecessor harness methods retain their evidence. Identity safeguards are separate grader controls, not scanner mutations. + +The completed 52-method numeric-metadata verification remains reusable: Lean/numeric functions are unchanged, and its standard declaration population uses the supported default, no-hook loading profile. Original 18-method review results, the later one-method notebook controls, and identity refreshes remain separately bound. This is not a fresh whole-110-method, whole-68-scanner-mutant, CI, Lean or mathematical run. Current final source bindings and Root's source-partition record are in `evidence/final-review-identity/current-composed-admission.json` and `SOURCE_COMPOSITION.json` beside it. Source-bound original-review, notebook and identity reviews are CLEAR for their declared scopes; they do not authenticate the final repository inventory or scientific statements. Actual repository G1 remains NOT_RUN. Kernel/build provenance, approved axioms, pins and federation admission remain independent. Prior exact-source metadata is retained under `evidence/pre-review-identity-metadata/`. + +The repaired Python/manifest profile refuses augmented division and requires literal nonnegative exponents for augmented power; mathematical imports cannot reach engineering-only mapped package prefixes or submodule candidates. Presence of `status_evidence` requires its value to be exactly true. Unsupported `.mjs`, `.mjs.txt`, `.ipynb` and `.ipynb.txt` source cannot be relabeled as data or documentation. Notebook recognition blocks admission; no notebook parser or executor is introduced. See [the source-bound review and notebook controls](REVIEW_BOUNDARY_FIX.md). + +## Selected-declaration identity profile + +The [grader identity repair](GRADER_IDENTITY_FIX.md) freezes actual class, ordinary function and code objects before execution, including wraps-linked functions, and checks them before fixtures, at test starts, at body entry and at body completion. Module coverage comes from the actual module dictionary. Module `load_tests` hooks, callable suite factories, custom constructors/allocation/metaclasses/attribute dispatch and test-method descriptors are refused before construction or invocation. Only exact builtin staticmethod/classmethod descriptors are supported; named selectors traverse ordinary module dictionaries and static class declarations, refusing proxy/descriptor factories before lookup. Ordinary module, class and method selectors remain supported, with the existing synchronous None-return and exact assertion-provenance contracts. + +Trusted Python imports still execute. This bounded trusted-runner/source-custody profile is not a sandbox against arbitrary Python or authentication of fabricated consistent JSON. The final independent identity review is CLEAR for its exact source scope. Its 14 safeguard themes per tool in each mode yield 56 generation-bound assertion-kill observations across both tools: 32 + 8 + 4 + 12 across four source generations, not a fresh final-source 56-case campaign or production scanner/replay mutations. Earlier applicable observations and targeted refreshes remain separately bound. See `evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json`, its shared optimization/guard provenance and `shared/independent-review-final.json` (SHA256 f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4). diff --git a/cbz/contributions/math514/layer_a/REVIEW_BOUNDARY_FIX.md b/cbz/contributions/math514/layer_a/REVIEW_BOUNDARY_FIX.md new file mode 100644 index 000000000..9315c6c9f --- /dev/null +++ b/cbz/contributions/math514/layer_a/REVIEW_BOUNDARY_FIX.md @@ -0,0 +1,37 @@ +# Original Main #697 review closure + +This report records the reviewed manifest/notebook component before identity composition. Its unchanged-source and standalone-count statements refer to that component. The current combined 110-method/68-definition generation, exact source hashes and identity partition are recorded in `evidence/final-review-identity/current-composed-admission.json`. + +This contribution repairs four remaining original review boundaries in the auditor after numeric-metadata head `19b8e20a698775bef1813c5ceac91e2be9119bde`. It changes only `auditor.py`, the Python portion of `source_checks.py`, mutation definitions and nine added `ReviewBoundaryRules` tests, including one later notebook-classification obligation. The numeric fix, all earlier test methods and all mutation-runner functions remain unchanged. No active tool, GitHub source or canonical register was edited. + +| Native review comment | Actual disposition in this overlay | Verification | +|---|---|---| +| [4416393202](https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393202) | Augmented division is inexact; augmented power requires a nonnegative integer literal, using the AugAssign value operand. BinOp retains its right operand. | New division/power adverse methods and exact/engineering positive controls. | +| [4416393211](https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393211) | Mathematical imports reject engineering-only mapped submodule candidates and package prefixes, matching ordinary edges. | Exact local fractions/Fraction witness; prefix guard control. | +| [4416393221](https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393221) | Presence of status_evidence requests validation; null and all other non-true values fail closed. | Null/false/zero/string/list/object adverse controls and prior positive status binding tests. | +| [4416393233](https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393233) | .mjs and .mjs.txt are known unsupported source, so data/documentation relabeling reports both source classification and language gaps. | Both data/documentation, mixed-case extension and text-wrapper controls. | +| [4416393236](https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393236) | Already corrected by the prior lifecycle grader. An import swallowed by the test fallback causes setup failure, missing body entry and ERROR rather than KILLED. | Existing actual ImportError-source control reused; exact receipt binding in evidence/review-boundary-fix/IMPORTERROR_REUSED.json. No new execution. | + +The retained RED run executed eight methods, with ten assertion failures and no errors. Before repair, augmented division/power, the exact candidate witness, null-status and ES-module data cases passed their defective checks; the package-prefix control already reported PY_IMPORT_GAP but lacked the required mathematical dependency finding. This distinction is preserved. + +Verification is scoped to the changed Python and manifest obligations: + +- Before the notebook amendment, eighteen distinct methods passed in each mode: eight new and ten affected prior Python/manifest controls. Normal mode used eight initial invocations plus twelve after the final candidate variable rename; the two candidate/prefix methods were rerun, while six unchanged successful methods were reused. Optimized mode ran all eighteen once. All results have zero errors, skips or failures. +- Before the notebook amendment, seven new guard mutations and three adapted legacy mutation anchors were actually assertion-killed in each mode, ten executions per mode. The legacy names are allow-python-division, allow-negative-dynamic-powers and skip-status-evidence. Their assertions remain intact; only source anchors changed. All 68 current mutation anchors are present exactly once and produce syntax-valid mutants. +- Including the notebook amendment, the standalone population is 103 methods: 19 distinct affected methods verified and 84 reusable predecessor methods. The definition count is 68: eight added, three adapted/rechecked, 57 unchanged and supported by applicable earlier evidence. The latest amendment runs only one new method and one new mutant per mode and reuses the prior eighteen/ten results. This is composed evidence, not a new whole-103-method or whole-68-mutant run. +- All 79 predecessor test_auditor methods and 15 predecessor harness methods have identical ASTs. The only changed source_checks definition is check_python; Lean and numeric metadata functions are identical. The completed 52-method numeric-metadata verification is reused. No Lean, kernel or mathematical check was replayed. + +The actual Main tree also contains the executable notebook `docs/notebooks/SIDE24_PUBLIC_COEFFICIENTS.ipynb` (SHA256 e348db8e9d667caff2a8da1d85ffd5ad599db34b34e542d9662d0bc1edc84024, three code cells). Root identified this concrete additional classification gap. The original 49-file overlay was frozen with every byte checked under `archive/pre-notebook` before amendment. `NOTEBOOK_SUFFIXES` now recognizes `.ipynb` and the consistent `.ipynb.txt` wrapper as unsupported source: relabeling them data/documentation reports both SOURCE_CLASSIFICATION and LANGUAGE_GAP. No notebook parser or executor is introduced. + +The additional notebook audit fixture has a retained one-method RED assertion failure and a one-method GREEN in each mode, including data, documentation, case normalization and text-wrapper controls. Its single guard mutant is assertion-killed in each mode with zero errors. The prior eighteen methods and ten affected mutants were not rerun. `source_checks.py` is byte-identical to the preceding reviewed overlay; all 87 preceding auditor test methods remain AST-identical. The new notebook findings deliberately block admission of unsupported executable notebooks; the tool does not grant mathematical or engineering clearance for their contents. `evidence/review-boundary-fix/NOTEBOOK_DISCOVERY.json` and `evidence/review-boundary-fix/review/NOTEBOOK_SOURCE_REVIEW.json` bind the discovery and independent delta review. + +Commands from this complete tool directory, with fresh output paths: + +```sh +python3 -B -S mutation_test.py --internal-test-runner --test-root tests --test test_auditor.ReviewBoundaryRules --output /absolute/new/review-boundaries.json +PYTHONOPTIMIZE=1 python3 -O -B -S mutation_test.py --internal-test-runner --test-root tests --test test_auditor.ReviewBoundaryRules --output /absolute/new/review-boundaries-O.json +``` + +`evidence/review-boundary-fix/MUTATION_COMMAND.py.txt` records the exact targeted mutation invocation through existing run_one; `evidence/review-boundary-fix/AFFECTED_METHODS.json` lists the ten predecessor controls. Standard public full G0 and manifest-driven G1 commands remain unchanged. This delta creates no separate production tool. Tool owner is none — self-contained; the existing auditor and its tests serve CBZ criteria 4, 7 and 9. Its configured all-definitions mutation requirement is now 68/68 when a fresh whole run is warranted; this delivery's evidence is explicitly composed. + +The bounded auditor does not authenticate an inventory or prove arbitrary mathematical semantics. Actual repository G1, G2/G3/G4, final federation pins/gates and canonical registry admission remain independent. No CBZ-0 or terminal baseline is claimed. Root's combined source record preserves this component and the separate identity repair; actual publication, hosted CI and federation admission remain Root-owned. diff --git a/cbz/contributions/math514/layer_a/SPEC.md b/cbz/contributions/math514/layer_a/SPEC.md new file mode 100644 index 000000000..c6aa4d5f6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/SPEC.md @@ -0,0 +1,71 @@ +# CBZ Layer A static auditor — bounded specification + +Purpose: G0 tests the auditor itself; G1 checks a root-authorized exact tracked-file manifest. This is a focused Python-stdlib command, not a Lean parser, kernel, SAT solver, Python interpreter or general framework. A successful result is `STATIC_PASS`, never CBZ-0 or proof closure. + +## Authority and scope + +The final federation controller supplies schema v1: exact roots, immutable tree identifiers, complete tracked-file lists, and one hash-bound classification per tracked file. The auditor validates every listed file, exact classification coverage, normalized paths, absence of symlink aliases, UTF-8 where applicable, readability, content SHA256, and all class-specific obligations. It never guesses exclusions or silently skips a file. The authority/completeness of the supplied Git inventory remains G10; this tool deliberately does not run Git. Its report binds manifest bytes, inventory lists and every scanned file. The manifest is supplied outside the audited root in tests; production may bind it as controller evidence outside its own hash cycle. + +Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_fixture`, `quarantined_source`, `external_pinned`, `binary_proof`, `documentation`, `data`. Source-looking extensions cannot be relabeled documentation/data. Every source, including quarantined and negative source, is scanned. Retained negative/quarantined source must name its exact expected finding multiset; extra or absent findings fail. Quarantine additionally records an exact nonempty boundary, blocking reason, id and source hash. These records are dispositions, not clean source. Binary proofs require content-bound G2 and G4 evidence references. External files require immutable revision pin metadata; no implicit dependency trust exception exists. + +## Mechanical claims + +Lean: Root's unchanged canonical Main#698 identifier lexer (`canonical_lean.py`, provenance in `LEXER_PROVENANCE.json`) supplies the hazard stream through a seven-field metadata compatibility adapter; a bounded punctuation/header lexer supplies import/declaration metadata and malformed-input detection. Unsupported token metadata and canonical lexical errors fail closed. Together they handle line comments, nested block comments, ordinary/raw string literals, character literals, escaped identifiers and Unicode identifier boundaries. The canonical engine uses Lean numeric token boundaries, so an adjoining `0axiom` cannot swallow a command keyword. Its conservative brace-hole interpretation scans nested quoted terms inside possible macro interpolation such as `throwError "bad {let x := "safe"; (sorry : Nat)}"`; this may add findings for ordinary brace text and does not certify arbitrary macro semantics. The secondary parser conservatively refuses its unsupported interpolation forms. Outside comments/raw strings, including code in these possible interpolation holes, it detects exact `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, axiom/constant declarations, `native_decide`, `native`, `ofReduceBool`, `ofReduceNat`, `ofReduceInt`, `trustCompiler` and `skipKernelTC`, including qualified forms. `addDeclWithoutChecking` (qualified/escaped forms included) is a blocking unchecked-kernel-insertion hazard. Escaped `sorryAx`/`admitGoal`/`mkSorry` constant names remain hazards, while escaped keyword identifiers such as `«sorry»` are not logical placeholders. An exact `native` identifier is always refused, conservatively covering native-decide configuration across whitespace, newlines and nested comments without depending on a follow-text regular expression. Float/Float32 and unsafe/macro/elaborator/FFI syntax are flagged for explicit G2/G4 follow-up because lexical inspection cannot certify its expansion. Imported project macros can inject axioms without these tokens: G2 must enumerate ALL elaborated owned declarations, including private/generated ones, and G4 must kernel recheck them. + +Approved foundation declaration profile: **no newly declared owned source axiom is permitted**, even when named `propext`, `Classical.choice` or `Quot.sound`. The approved imported transitive axiom set is exactly `{propext, Classical.choice, Quot.sound}`; only G2's all-declaration kernel environment audit can authenticate that set and those actual declarations. Lexical source naming cannot create an exception to it. Dependencies are immutable pinned inputs, not arbitrary new foundation declarations. + +Math Python: an explicit AST allowlist accepts closed-program exact integer/`fractions.Fraction` arithmetic, exact builtins and statically named local functions. No floating/complex literals, `/`, unrestricted powers, arbitrary imports, dynamic calls, reflective attributes, classes, decorators, async, external input, exceptions as proof, or builtin/Fraction rebinding. `**` and `**=` require a nonnegative integer literal exponent; `/=` is refused with division. For augmented assignment, the exponent is the AugAssign value operand. Fraction import aliases are supported and protected. This is a conservative syntactic exact-arithmetic profile, not arbitrary interprocedural float-dataflow analysis. Functions are certified only as part of the closed program; external callers are outside the profile. Engineering Python allows floats only with a hash-bound explicit review declaring nonmathematical execution scope; it is parsed and dependency checked, never silently admitted as mathematical certification. + +Boundary checks: explicit Lean and Python imports from closed sources resolve through `module_map` to classified pinned files. Closed code cannot import quarantine or negative fixtures, including transitive import chains. Plain Lean module operands include apostrophe, `!` and `?` identifier suffixes; an unsupported operand or trailing token is a gap even after a valid module prefix. Escaped module syntax is outside this bounded import parser and is refused. Python refuses explicit reflective namespace/loader entrypoints in both mathematical and engineering source, including builtins/namespace names and the defined globals/class/frame reflective attributes; a nonmathematical review cannot waive import isolation. Unresolved/dynamic/unsupported import mechanisms are fatal gaps (or exact retained findings in isolated source); no claim of arbitrary runtime dependency completeness is made. The module map must agree with per-file declared module identities and cannot alias names. Retained source requires supported language/module metadata regardless of suffix; an external mapped module also requires a supported source language. Known unsupported source suffixes remain gaps even if labeled Lean/Python. G2/G4 must account for generated modules, macros, FFI and runtime-dependent loading; unknown cases are never green. + +A6: every lexical theorem/lemma/example has an entry keyed `name@line` (`example@line` for anonymous examples). Entries are `conditional` with explicit premises/reason, `nonvacuous` with a bound evidence reference, or `vacuous` with a reason. Syntactic candidates (`False` hypothesis, `False →`, opposing `P`/`¬P`, self-strict inequality/disequality, incompatible literal equality) require `vacuous` classification. These are source-shape candidates, not a decision procedure for Lean proposition satisfiability; aliases, typeclass interpretations and arbitrary semantic inconsistency require separate certificates/G2 elaborated statement review. The report lists all detected candidates and all conditional claims. + +A7: presence of `status_evidence` requests validation and its value must be exactly true; null, false and all other values are refused. Bound status JSON requires: exact allowed observed state, gate id, command, run id, input hashes, evidence reference and exit code must agree. Observation equality uses canonical JSON serialization so booleans and integers remain distinct. An observation file is evidence structure/content binding, not authentication that the command actually ran. G8/controller execution receipts supply that provenance. Markdown truth and no-weakened-bound historical intent are outside lexical decidability; they require G8 and source-history review respectively. + +## Nonclaims and hard limits + +No source scanner proves arbitrary mathematics, satisfiability, bound strength, historical test retention, semantic status truth, pin compatibility, kernel trust, command execution or external review authenticity. G2/G3/G4/G5/G7/G8/G10 and relevant manual certificates remain explicit obligations. `STATIC_PASS` covers only the stated mechanical rules under the supplied final tracked inventory. Any missing/unsupported case is a finding/fatal gap, never a skipped green case. Test/mutation scores are finite declared coverage, not a proof of all possible checker behavior. + +## Delivery and authorization + +Owner's explicit autonomous directive supersedes skill approval/branch/commit/reviewer ceremony. Work is confined to `tools/layer_a/` and `discovery/auditor-build-report.{md,json}`; root owns Git, registry, final manifests and final G0–G11. Existing `formal/gate.py` hash/path/axiom target checks were inspected: their target-scoped audit and source-manifest checks are useful G2/G3/G4 components but do not implement this lexer/AST/full-classification contract. Their invariant patterns (safe paths, exact hashes, strict JSON, exact approved set) are retained; their package-specific execution and destructive build routines are not copied or run. + +Published component reuse: exact native blob `2eee3a2200082444093935291b9389c0795641cf` at Main#698 head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b` is imported unchanged. Its published 72-test/two-mode, 66 lexical-mutant and 23 A3-mutant results remain inherited component evidence, not a local wrapper rerun. Its actual Lean counterexample source/log evidence is reused without compiler replay. The adapter uses the canonical identifier stream and character-literal recognizer, with no heuristic directory exclusions or Git execution from the standalone entrypoint. The old ULW29 source/provenance/tests and historical 70/53 receipt are preserved under `evidence/pre-canonical698-source/` and remain exact historical evidence. The predecessor lexer affected-scope receipt is `evidence/lexer698-admission.json`; the predecessor 87-method lazy-body composition includes four new methods and reuses the preceding 83 methods, as recorded at `evidence/lazy-body-profile/current-composed-admission.json`; unchanged applicable checks remain reusable and no new full-suite score is implied. + +Hardening trigger: a concrete integration review exposed unchecked declaration insertion, malformed character and escaped helper gaps. `evidence/hardening-reported-cases-red.log` retains the observed RED cases; the previous nine G0-bound source/doc files are preserved exactly in `evidence/pre-hardening-source/`. No historical repository mathematics was repeated. Actual repository G1 remains root-owned and NOT_RUN here. + +Canonical lexer integration trigger: newly demonstrated numeral-adjoining owned axioms and nested quoted `throwError` terms were missed by both old source passes. The repair adopts the single canonical engine and a minimal API adapter; it does not add another lexer. Fresh checks are limited to changed Lean integration and defect-bound mutants. Existing Python/manifest-only checks, mutation-accounting checks and completed mathematical verification remain reusable where their relevant dependencies are unchanged. No mathematical/compiler replay was performed for this repair. + +Canonical lexical diagnostics are deduplicated by their exact `(line, column, kind)` tuple in first-seen order and emitted after the secondary lexer findings. Distinct diagnostics remain distinct; the manifest auditor sorts its final findings deterministically. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +The numeric-metadata predecessor composition was 94 methods (79 auditor + 15 harness), with 52 affected methods checked in both modes and 42 unaffected methods reused. Its 60 scanner definitions comprised 57 unchanged and 3 new guard mutants checked in both modes. This retained generation is `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. It was not a fresh whole-94/60 run and is not the current combined population. + + +## Synchronous None-return mutation-grader profile + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +The numeric-metadata predecessor composition was 94 methods (79 auditor + 15 harness), with 52 affected methods checked in both modes and 42 unaffected methods reused. Its 60 scanner definitions comprised 57 unchanged and 3 new guard mutants checked in both modes. This retained generation is `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. It was not a fresh whole-94/60 run and is not the current combined population. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +## Current combined generation + +The combined population is 110 methods: 88 auditor methods (79 numeric-predecessor + 9 review/notebook methods) and 22 harness methods (15 predecessor + 7 new identity methods). The [review-boundary repair](REVIEW_BOUNDARY_FIX.md) cumulatively covers 19 distinct affected methods per mode: 18 applicable prior results plus the one newly checked notebook method. Its 11 affected scanner mutation definitions per mode comprise 10 applicable prior kills plus one newly checked notebook guard; 3 of those 11 are adapted legacy definitions. The 68 active scanner definitions comprise 57 unchanged, 3 adapted and 8 new definitions. The [grader identity repair](GRADER_IDENTITY_FIX.md) covers 19 distinct affected harness methods per mode by composed staged receipts and targeted refreshes (12 predecessor + 7 new); 3 unaffected predecessor harness methods retain their evidence. Identity safeguards are separate grader controls, not scanner mutations. + +The completed 52-method numeric-metadata verification remains reusable: Lean/numeric functions are unchanged, and its standard declaration population uses the supported default, no-hook loading profile. Original 18-method review results, the later one-method notebook controls, and identity refreshes remain separately bound. This is not a fresh whole-110-method, whole-68-scanner-mutant, CI, Lean or mathematical run. Current final source bindings and Root's source-partition record are in `evidence/final-review-identity/current-composed-admission.json` and `SOURCE_COMPOSITION.json` beside it. Source-bound original-review, notebook and identity reviews are CLEAR for their declared scopes; they do not authenticate the final repository inventory or scientific statements. Actual repository G1 remains NOT_RUN. Kernel/build provenance, approved axioms, pins and federation admission remain independent. Prior exact-source metadata is retained under `evidence/pre-review-identity-metadata/`. + +The repaired Python/manifest profile refuses augmented division and requires literal nonnegative exponents for augmented power; mathematical imports cannot reach engineering-only mapped package prefixes or submodule candidates. Presence of `status_evidence` requires its value to be exactly true. Unsupported `.mjs`, `.mjs.txt`, `.ipynb` and `.ipynb.txt` source cannot be relabeled as data or documentation. Notebook recognition blocks admission; no notebook parser or executor is introduced. See [the source-bound review and notebook controls](REVIEW_BOUNDARY_FIX.md). + +## Selected-declaration identity profile + +The [grader identity repair](GRADER_IDENTITY_FIX.md) freezes actual class, ordinary function and code objects before execution, including wraps-linked functions, and checks them before fixtures, at test starts, at body entry and at body completion. Module coverage comes from the actual module dictionary. Module `load_tests` hooks, callable suite factories, custom constructors/allocation/metaclasses/attribute dispatch and test-method descriptors are refused before construction or invocation. Only exact builtin staticmethod/classmethod descriptors are supported; named selectors traverse ordinary module dictionaries and static class declarations, refusing proxy/descriptor factories before lookup. Ordinary module, class and method selectors remain supported, with the existing synchronous None-return and exact assertion-provenance contracts. + +Trusted Python imports still execute. This bounded trusted-runner/source-custody profile is not a sandbox against arbitrary Python or authentication of fabricated consistent JSON. The final independent identity review is CLEAR for its exact source scope. Its 14 safeguard themes per tool in each mode yield 56 generation-bound assertion-kill observations across both tools: 32 + 8 + 4 + 12 across four source generations, not a fresh final-source 56-case campaign or production scanner/replay mutations. Earlier applicable observations and targeted refreshes remain separately bound. See `evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json`, its shared optimization/guard provenance and `shared/independent-review-final.json` (SHA256 f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4). diff --git a/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md new file mode 100644 index 000000000..586c1aefc --- /dev/null +++ b/cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md @@ -0,0 +1,15 @@ +# Tooling registry payload — exact-scope Layer A auditor + +Root owns canonical registration, final source composition and federation admission. Runtime is CPython 3.11+ standard library plus the unchanged canonical Main#698 lexer. Tool ID: `CBZ-LAYER-A-EXACT-SCOPE-v1`; destination: `cbz/contributions/math514/layer_a/`; maintenance owner: none — self-contained. The component serves CBZ criteria 4, 6, 7, 9 and 11. Purpose and mechanical limits are in README.md and SPEC.md. + +## Current combined generation + +The combined population is 110 methods: 88 auditor methods (79 numeric-predecessor + 9 review/notebook methods) and 22 harness methods (15 predecessor + 7 new identity methods). The [review-boundary repair](REVIEW_BOUNDARY_FIX.md) cumulatively covers 19 distinct affected methods per mode: 18 applicable prior results plus the one newly checked notebook method. Its 11 affected scanner mutation definitions per mode comprise 10 applicable prior kills plus one newly checked notebook guard; 3 of those 11 are adapted legacy definitions. The 68 active scanner definitions comprise 57 unchanged, 3 adapted and 8 new definitions. The [grader identity repair](GRADER_IDENTITY_FIX.md) covers 19 distinct affected harness methods per mode by composed staged receipts and targeted refreshes (12 predecessor + 7 new); 3 unaffected predecessor harness methods retain their evidence. Identity safeguards are separate grader controls, not scanner mutations. + +The completed 52-method numeric-metadata verification remains reusable: Lean/numeric functions are unchanged, and its standard declaration population uses the supported default, no-hook loading profile. Original 18-method review results, the later one-method notebook controls, and identity refreshes remain separately bound. This is not a fresh whole-110-method, whole-68-scanner-mutant, CI, Lean or mathematical run. Current final source bindings and Root's source-partition record are in `evidence/final-review-identity/current-composed-admission.json` and `SOURCE_COMPOSITION.json` beside it. Source-bound original-review, notebook and identity reviews are CLEAR for their declared scopes; they do not authenticate the final repository inventory or scientific statements. Actual repository G1 remains NOT_RUN. Kernel/build provenance, approved axioms, pins and federation admission remain independent. Prior exact-source metadata is retained under `evidence/pre-review-identity-metadata/`. + +## Selected-declaration identity profile + +The [grader identity repair](GRADER_IDENTITY_FIX.md) freezes actual class, ordinary function and code objects before execution, including wraps-linked functions, and checks them before fixtures, at test starts, at body entry and at body completion. Module coverage comes from the actual module dictionary. Module `load_tests` hooks, callable suite factories, custom constructors/allocation/metaclasses/attribute dispatch and test-method descriptors are refused before construction or invocation. Only exact builtin staticmethod/classmethod descriptors are supported; named selectors traverse ordinary module dictionaries and static class declarations, refusing proxy/descriptor factories before lookup. Ordinary module, class and method selectors remain supported, with the existing synchronous None-return and exact assertion-provenance contracts. + +Trusted Python imports still execute. This bounded trusted-runner/source-custody profile is not a sandbox against arbitrary Python or authentication of fabricated consistent JSON. The final independent identity review is CLEAR for its exact source scope. Its 14 safeguard themes per tool in each mode yield 56 generation-bound assertion-kill observations across both tools: 32 + 8 + 4 + 12 across four source generations, not a fresh final-source 56-case campaign or production scanner/replay mutations. Earlier applicable observations and targeted refreshes remain separately bound. See `evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json`, its shared optimization/guard provenance and `shared/independent-review-final.json` (SHA256 f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4). diff --git a/cbz/contributions/math514/layer_a/auditor-lexer-postfix-review.md b/cbz/contributions/math514/layer_a/auditor-lexer-postfix-review.md new file mode 100644 index 000000000..67610ed9e --- /dev/null +++ b/cbz/contributions/math514/layer_a/auditor-lexer-postfix-review.md @@ -0,0 +1,62 @@ +# Layer A canonical-lexer integration review + +The frozen lexer component resolves the two inherited false-green cases within the bounded source-auditor contract. This review found no remaining blocker in the canonical-source adoption, seven-field adapter, or preservation of the existing manifest/import/vacuity rules. It is a component review, not final package admission: the separately identified generic mutation-grader lifecycle defect and its repair remain outside this conclusion. + +This separate-agent, same-provider review read the changed production source, original/current test and mutation-definition diffs, scoped controller, red/green logs, current mutation receipts and assertion traces, provenance, and retained canonical Lean outputs. No test, mutation, compiler, proof, project build, actual-repository G1, Git operation, or remote action was executed by the reviewer. The only reviewer write is this report. Completed applicable evidence was reused under `/workspace/AGENTS.md`; neither a new reviewer nor a pending process requirement erased established mathematical evidence. + +The review cut is the implementer's production freeze and sealed component receipt `tools/layer_a/evidence/lexer698-admission.json`, SHA256 `0749e207efa46545ffbb2c1ad73fb1305dbf7b73f052deeaa02fb84bd1adb3b4`. It records `G0_COMPONENT: PASS`, explicitly scoped to lexer integration with lifecycle augmentation pending. Subsequent grader changes require their own affected review; they do not require replaying unchanged lexer or mathematical checks. + +| Reviewed production input | Recorded SHA256 | +|---|---| +| `tools/layer_a/canonical_lean.py` | `9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818` | +| `tools/layer_a/source_checks.py` | `931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c` | +| `tools/layer_a/auditor.py` — unchanged | `c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710` | +| `tools/layer_a/tests/test_auditor.py` | `94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e` | +| `tools/layer_a/mutation_test.py` — before lifecycle repair | `e6afa7a0ef6b3e5cd9ce3afb5a4784ecf5f3163c2ed36fef4a46a517f238b721` | + +These are the completed scoped receipt's production/test bindings, reused here rather than rehashed. The initial receipt also binds its historical mutation generator; the later two definition adaptations are recorded separately and must not be described as the identical initial generator. + +`LEXER_PROVENANCE.json` now identifies Main#698 head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b`, `tools/cbz/layer_a_scan.py`, native blob `2eee3a2200082444093935291b9389c0795641cf`, 24,721 bytes, and the canonical-source SHA256 above. Its custody receipt records an exact, unmodified copy at `evidence/public-main698-38312e16/layer_a_scan.py`. The prior ULW29 source/provenance and 70/53 receipt remain explicitly historical. Published #698 verification is labeled reused contributor evidence; this contribution did not rerun or independently recreate that work. + +The adapter consumes the canonical seven-field tuples and refuses unsupported tuple shape with `LEAN_LEXICAL_GAP`. It passes an error collector to the canonical lexer and forwards distinct canonical diagnostics as lexical gaps. The initially missing error-channel propagation was caught during the in-progress review, has an expected assertion red log, and is present in the frozen source. Escaped-name normalization and source-location conversion remain unchanged. Ignoring the seventh contextual hint for hazard policy is conservative: this auditor already refuses every canonical `native` identifier. It does not inherit the canonical standalone classifier, walker, path contexts, exclusions, or default verdict. + +The secondary token stream still supplies the original literal sentinels, restricted import parsing, theorem/lemma/example locations, and bounded contradiction candidates. Its implementation is unchanged. `auditor.py` is unchanged, retaining complete supplied-path/hash/classification checks, exact retained-finding counts, mapped and transitive quarantine isolation, supported-language requirements, evidence bindings, and exact vacuity-annotation coverage. The new hazard stream supplements these independent checks. No import-map, empty-premise, retained-source, or vacuity waiver was introduced. + +| Inherited case | Current evidence and disposition | +|---|---| +| `def harmless := 0axiom hiddenPremise : False` followed by `bad : False` | Canonical numeric spelling stops before `axiom`; the adapter emits `LEAN_AXIOM`. The manifest regression supplies an ordinary `bad@2` conditional annotation with an explicit empty premises list and requires both that hazard and `FAIL`. Its red receipt records an actual prior `STATIC_PASS` with no findings. Restoring the old numeric swallowing recreates that false green and fails the designated test-body assertion. | +| `throwError "bad {let x := "safe"; (sorry : Nat)}"` | Canonical conservative brace-hole lexing reaches `sorry` through the nested quoted term, and the adapter emits `LEAN_PLACEHOLDER`. The manifest regression supplies a benign mapped `Lean` import and requires both the placeholder and `FAIL`. Its red receipt likewise records the old `STATIC_PASS` with no findings. Removing code-hole scanning recreates that false green and fails the designated test-body assertion. | + +The retained canonical compiler evidence is applicable and was not rerun: `numeral-command-lean.log` reports `'bad' depends on axioms: [hiddenPremise]`; `macro-string-lean.log` warns that the declaration uses `sorry` and reports `[propext, sorryAx, Classical.choice, Quot.sound]`. Source/log blobs are respectively `46435e50ab67663f75ad008b77d772babbc17c66` / `dd8796143faf23302ae7253e9bab316c76187478` and `3d94783f5cb651e385662eabe17b7d5bde12a6ff` / `b5dd24a938368c170b28afb1ce8b7cd29d20099e`. Copies, immutable source URLs, and the canonical independent review are retained in `evidence/public-main698-38312e16/`. + +The other new tests cover numeral/radix/scientific boundaries, benign literals, and the adapter's shape/error channels. They do not claim that each lexical fixture is a freshly compiled Lean program. Ordinary string brace data, unsupported Unicode spellings, and prime notation can still be refused conservatively. Such extra findings can require retained-count updates or additional certification; they do not establish a new false green. This review found no additional concrete false green. The updated README and specification describe the canonical engine, adapter, conservative brace-hole interpretation, exact diagnostic deduplication, fresh/reused counts, and separate lifecycle obligation consistently with this scope. + +The fresh/reused accounting is appropriately scoped: + +| Evidence | Applicability | +|---|---| +| 45 affected methods, normal and optimized modes | 40 original methods plus five additions; both recorded baselines exit 0 with zero assertion failures/errors. The temporary selected suite preserves complete original method bodies. All original 67 auditor method ASTs remain unchanged in the complete source. | +| 19 affected current mutation definitions per mode | 17 valid initial assertion kills are reused; only the two adapted definitions were rerun. All 19 current records in each mode report positive assertion failures and zero errors, totaling 191 assertion failures per mode. | +| 30 historical methods | 27 unaffected auditor methods plus three historical runner methods retain their recorded evidence. This is not a fresh 75-method full-suite run or evidence of the newly uncovered lifecycle requirement. | +| 38 historical mutation results | Reused for unchanged rules. Current active definitions total 57: 51 unchanged legacy definitions, two adapted legacy definitions, and four additions. This is not a fresh full 57-mutant run. | + +`evidence/lexer698-initial/receipt.json` honestly retains `FAIL`, 17/19 kills, and both original redundant survivors in each mode. The production lexer/adapter/test bindings were stable during that run. Canonical #698's identifier implementation made the old excluded-letter mutation ineffective; canonical error propagation made the secondary-only malformed-character mutation redundant. The current adaptations target the effective Unicode continuation rule and the final malformed-character refusal result. Their names do not imply unchanged mutation bytes. Original definitions/sources and survivor logs remain preserved; `evidence/lexer698-adapted-mutants/receipt.json` records only the two affected reruns. This is the correct reason to perform those additional checks. + +The four new actual checker-source mutations and the two adaptations have the following recorded assertion counts in each mode: + +| Current mutation | Assertion failures | Test-body evidence | +|---|---:|---| +| `restore-generic-numeral-swallowing` | 6 | Manifest false green and numeral-boundary expectations lose `LEAN_AXIOM`. | +| `discard-nested-string-code-holes` | 2 | Manifest false green and direct nested-string expectation lose `LEAN_PLACEHOLDER`. | +| `discard-canonical-lexical-errors` | 1 | Canonical error-channel refusal expectation loses `LEAN_LEXICAL_GAP`. | +| `ignore-canonical-metadata-shape` | 1 | Unsupported six-field metadata refusal loses `LEAN_LEXICAL_GAP`. | +| adapted `canonical-unicode-boundary-weakened` | 1 | Original Unicode-boundary test loses its placeholder finding. | +| adapted `skip-malformed-character-refusal` | 5 | Original manifest/direct malformed-character assertions lose refusal. | + +The reviewer read these six normal-mode failure traces directly. They end in named `test_*` bodies and the expected assertions, including the original two actual manifest false greens. The sealed component receipt additionally records observed test-body frames for all 38 mode-specific current kills, with no setup/teardown frame. All current records have zero errors. Those actual traces support these finite kills despite the separate generic grader flaw. + +The generic `mutation_test.py` accounting at this review cut can mistake setup/teardown/cleanup assertion failures for behavioral kills. Therefore this report does **not** certify its future grading contract, infer lifecycle correctness from the three historical harness methods, or treat a generic `KILLED` label alone as sufficient. The separate lifecycle repair and new targeted harness evidence must be admitted independently. The exact observed test-body failures above remain valid evidence; the newly found process/tooling defect does not erase them. + +The historical `g0-admission-final.json` remains the 70-test/53-mutant receipt with SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`, and the earlier red, failed/surviving, 56/39, 60/44 and 69/52 generations remain generation-specific evidence. None is rewritten as a result for the new bytes. + +Actual-repository G1 remains `NOT_RUN`. The authenticated final scope, isolated context/module inventories, canonical registry, serial integration, and final package/source bindings remain Root-owned. Arbitrary macro expansion, generated declarations, semantic satisfiability, execution-receipt truth, kernel checking, axiom policy, and federation G0–G11/CBZ-0 remain separate obligations. This same-provider engineering review supplies no provider-distinct or scientific-review credit and makes no mathematical promotion or closure claim. diff --git a/cbz/contributions/math514/layer_a/auditor.py b/cbz/contributions/math514/layer_a/auditor.py new file mode 100644 index 000000000..8eb070b8a --- /dev/null +++ b/cbz/contributions/math514/layer_a/auditor.py @@ -0,0 +1,372 @@ +#!/usr/bin/env python3 +"""G1 bounded static auditor. `STATIC_PASS` is not proof closure. See SPEC.md.""" +import argparse +from collections import Counter +import hashlib +import json +import os +from pathlib import Path, PurePosixPath +import re +import stat +import sys +import unicodedata + +from source_checks import check_lean, check_python + +APPROVED_AXIOMS = frozenset({'propext', 'Classical.choice', 'Quot.sound'}) +KINDS = frozenset({'project_lean','math_python','engineering_python','negative_fixture','quarantined_source', + 'external_pinned','binary_proof','documentation','data'}) +RETAINED = frozenset({'negative_fixture','quarantined_source'}) +SOURCE_EXTENSIONS = frozenset({'.lean','.py','.pyi','.sh','.bash','.js','.mjs','.ts','.c','.cc','.cpp','.h','.rs'}) +# Notebooks contain executable cells; neither supported checker accepts them. +NOTEBOOK_SUFFIXES = ('.ipynb', '.ipynb.txt') +BINARY_EXTENSIONS = frozenset({'.olean','.ilean','.o','.so','.a','.dll','.dylib','.wasm'}) +HEX = re.compile(r'[0-9a-f]{64}') +ENTRY_KEYS = frozenset({'kind','sha256','module','language','vacuity','expected_findings','quarantine', + 'fixture_purpose','pin','nonmath_review','bindings','status_evidence'}) + + +CLASS_KEYS = { + 'project_lean': {'module','vacuity'}, + 'math_python': {'module'}, + 'engineering_python': {'module','nonmath_review'}, + 'negative_fixture': {'language','module','expected_findings','fixture_purpose'}, + 'quarantined_source': {'language','module','expected_findings','quarantine'}, + 'external_pinned': {'language','module','vacuity','pin','bindings'}, + 'binary_proof': {'bindings','pin'}, + 'documentation': {'status_evidence'}, + 'data': {'status_evidence'}, +} + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def strict_json(text): + def unique(pairs): + result = {} + for k, v in pairs: + if k in result: + raise ValueError('duplicate JSON key: ' + k) + result[k] = v + return result + def refuse(token): + raise ValueError('noninteger/nonfinite JSON number refused: ' + token) + return json.loads(text, object_pairs_hook=unique, parse_float=refuse, parse_constant=refuse) + + +def normalized_path(value): + if not isinstance(value, str) or not value or '\\' in value or '\x00' in value: + return False + p = PurePosixPath(value) + return (not p.is_absolute() and '..' not in p.parts and '.' not in p.parts and str(p) == value and + unicodedata.normalize('NFC', value) == value and not any(ord(c) < 32 for c in value)) + + +def audit(manifest): + findings, retained_findings, observations = [], [], [] + records, roots, graph, source_results = {}, {}, {}, {} + classified_count, scanned_count = 0, 0 + + def add(code, detail, root='', path='', line=0): + findings.append({'code':code, 'root':root, 'path':path, 'line':line, 'detail':detail}) + + def nonempty(value): + return isinstance(value, str) and bool(value.strip()) + + def binding(value, owner, label): + if not isinstance(value, dict) or set(value) != {'root','path','sha256'}: + add('EVIDENCE_BINDING', 'malformed '+label, *owner); return None + ref = value.get('root','') + ':' + value.get('path','') if isinstance(value.get('root'),str) and isinstance(value.get('path'),str) else '' + target = records.get(ref) + if target is None or target.get('data') is None or value.get('sha256') != target['entry'].get('sha256') or digest(target['data']) != value.get('sha256'): + add('EVIDENCE_BINDING', 'missing/stale/unreadable '+label, *owner); return None + try: + return strict_json(target['data'].decode('utf-8')) + except (UnicodeError, ValueError, TypeError, RecursionError) as exc: + add('EVIDENCE_BINDING', 'non-JSON '+label+': '+str(exc), *owner); return None + + if not isinstance(manifest, dict) or set(manifest) != {'schema_version','approved_axioms','roots','module_map'} or type(manifest.get('schema_version')) is not int or manifest.get('schema_version') != 1: + add('MANIFEST','schema v1 exact top-level keys required') + manifest = manifest if isinstance(manifest,dict) else {} + approved = manifest.get('approved_axioms') + if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS: + add('FOUNDATION_PROFILE','approved imported axiom set must be exactly propext, Classical.choice, Quot.sound') + raw_roots=manifest.get('roots') + if not isinstance(raw_roots,list) or not raw_roots: + add('MANIFEST','nonempty roots required');raw_roots=[] + root_realpaths=[] + for r in raw_roots: + if not isinstance(r,dict) or set(r)!={'id','path','tree_id','tracked_files','files'}: + add('MANIFEST','root exact keys required');continue + rid=r.get('id') + if not isinstance(rid,str) or not re.fullmatch(r'[A-Za-z0-9_-]+',rid) or rid in roots: + add('MANIFEST','invalid or duplicate root id');continue + if not isinstance(r.get('tree_id'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',r['tree_id']) is None: + add('MANIFEST','immutable tree identifier required',rid) + rp=r.get('path') + if not isinstance(rp,str) or not Path(rp).is_absolute() or str(Path(rp))!=rp or unicodedata.normalize('NFC',rp)!=rp: + add('PATH','root must be normalized absolute path',rid);continue + root=Path(rp) + if not root.is_dir(): + add('FILE_MISSING','root directory missing',rid);continue + if any(p.is_symlink() for p in [root,*root.parents]): + add('PATH_SYMLINK','root or ancestor is a symlink',rid);continue + real=root.resolve() + if any(real==other or real.is_relative_to(other) or other.is_relative_to(real) for other in root_realpaths): + add('PATH','overlapping/aliased roots are forbidden',rid);continue + root_realpaths.append(real);roots[rid]=r + tracked, files=r.get('tracked_files'),r.get('files') + if not isinstance(tracked,list) or not tracked or any(not isinstance(p,str) for p in tracked) or len(set(tracked))!=len(tracked) or not isinstance(files,dict): + add('MANIFEST','nonempty unique tracked paths and file object required',rid);continue + if set(tracked)!=set(files): + add('SCOPE_CLASSIFICATION','tracked/classified path sets differ: missing='+repr(sorted(set(tracked)-set(files)))+' extra='+repr(sorted(set(files)-set(tracked))),rid) + for path in sorted(set(tracked)|set(files)): + if not normalized_path(path): + add('PATH','unsafe, nonnormalized or non-NFC file path',rid,str(path));continue + if path not in files: + continue + entry=files[path];classified_count+=1 + if not isinstance(entry,dict) or set(entry)-ENTRY_KEYS or not {'kind','sha256'}<=set(entry): + add('CLASSIFICATION','malformed classification or unknown fields',rid,path);continue + if not isinstance(entry.get('kind'),str) or entry.get('kind') not in KINDS: + add('CLASSIFICATION','unknown classification: '+str(entry.get('kind')),rid,path);continue + if set(entry)-{'kind','sha256'}-CLASS_KEYS.get(entry['kind'],set()): + add('CLASSIFICATION','fields not applicable to declared classification',rid,path) + if 'language' in entry and (not isinstance(entry['language'],str) or entry['language'] not in {'lean','python'}): + add('LANGUAGE_GAP','unsupported/nonstring language classification',rid,path);continue + if 'module' in entry and not isinstance(entry['module'],str): + add('MODULE_ALIAS','module identity must be a string',rid,path);continue + if not isinstance(entry.get('sha256'),str) or HEX.fullmatch(entry['sha256']) is None: + add('FILE_HASH','missing or malformed SHA256',rid,path) + target=root/path + record={'root':rid,'path':path,'entry':entry,'data':None};records[rid+':'+path]=record + if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)): + add('PATH_SYMLINK','symlink file/ancestor aliases are forbidden',rid,path);continue + try: + info=target.stat() + if not stat.S_ISREG(info.st_mode): + add('FILE_MISSING','not a regular file',rid,path);continue + if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH): + add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue + data=target.read_bytes() + except FileNotFoundError: + add('FILE_MISSING','declared file is absent',rid,path);continue + except OSError as exc: + add('FILE_UNREADABLE',str(exc),rid,path);continue + record['data']=data;scanned_count+=1 + if digest(data)!=entry.get('sha256'): + add('FILE_HASH','content differs from manifest pin',rid,path) + module_map=manifest.get('module_map') + if not isinstance(module_map,dict): + add('MANIFEST','module_map must be an object');module_map={} + for name, ref in module_map.items(): + if not isinstance(name,str) or not re.fullmatch(r'(lean|python):[^\s:]+',name) or not isinstance(ref,str) or ref not in records: + add('MODULE_ALIAS','module map points outside classified scope: '+str(name));continue + if records[ref]['entry'].get('kind') in {'documentation','data','binary_proof'}: + add('MODULE_ALIAS','module identity must point to actual classified source: '+name) + if records[ref]['entry'].get('module')!=name: + add('MODULE_ALIAS','module map alias does not equal target declared identity: '+name) + for ref, record in records.items(): + rid,path,entry=record['root'],record['path'],record['entry'] + owner=(rid,path);kind=entry['kind'];data=record['data'];suffix=Path(path).suffix.lower() + language=entry.get('language') + if kind=='project_lean': language='lean' + if kind in {'math_python','engineering_python'}: language='python' + source_like=suffix in SOURCE_EXTENSIONS or path.lower().endswith(('.lean.txt','.py.txt','.sh.txt','.js.txt','.mjs.txt') + NOTEBOOK_SUFFIXES) + if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS): + add('SOURCE_CLASSIFICATION','source/proof object cannot be relabeled documentation/data',rid,path) + if kind=='binary_proof' and source_like: + add('SOURCE_CLASSIFICATION','source cannot be relabeled binary proof',rid,path) + if kind in {'project_lean','math_python','engineering_python'} and suffix not in ({'.lean'} if language=='lean' else {'.py','.pyi'}): + add('SOURCE_CLASSIFICATION','source kind does not match extension',rid,path) + if (kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)) and language not in {'lean','python'}: + add('LANGUAGE_GAP','source needs supported explicit lean/python classification',rid,path) + expected_language='lean' if path.lower().endswith(('.lean','.lean.txt')) else 'python' if path.lower().endswith(('.py','.pyi','.py.txt')) else None + if source_like and expected_language is None: + add('LANGUAGE_GAP','known source extension has no supported checker',rid,path) + if expected_language is not None and language is not None and language!=expected_language: + add('SOURCE_CLASSIFICATION','declared language disagrees with source extension',rid,path) + if language is not None and language not in {'lean','python'}: + add('LANGUAGE_GAP','unsupported language classification',rid,path) + if kind in RETAINED and (not isinstance(entry.get('expected_findings'),dict) or any(not isinstance(k,str) or type(v) is not int or v<1 for k,v in entry.get('expected_findings',{}).items())): + add('RETAINED_FINDING_MISMATCH','exact positive finding-count map required',rid,path) + if kind=='negative_fixture' and not nonempty(entry.get('fixture_purpose')): + add('NEGATIVE_FIXTURE','retained test purpose required',rid,path) + if kind=='quarantined_source': + q=entry.get('quarantine') + if not isinstance(q,dict) or set(q)!={'id','boundary','blocking_reason','owner','maintenance'} or any(not nonempty(q.get(k)) for k in ['id','boundary','blocking_reason']) or q.get('owner')!='none' or q.get('maintenance')!='zero': + add('QUARANTINE','exact id/boundary/blocking reason and terminal owner:none maintenance:zero required',rid,path) + if kind=='external_pinned' or 'pin' in entry: + pin=entry.get('pin') + if not isinstance(pin,dict) or set(pin)!={'revision','origin'} or not nonempty(pin.get('origin')) or not isinstance(pin.get('revision'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',pin['revision']) is None: + add('EXTERNAL_PIN','immutable 40/64 hex revision and nonempty origin required',rid,path) + if kind=='engineering_python': + review=binding(entry.get('nonmath_review'),owner,'nonmathematical review') + if not isinstance(review,dict) or set(review)!={'type','source_sha256','scope','reviewer','rationale'} or review.get('type')!='nonmathematical_review' or review.get('scope')!='nonmathematical_execution_only' or review.get('source_sha256')!=entry['sha256'] or not nonempty(review.get('reviewer')) or not nonempty(review.get('rationale')): + add('NONMATH_REVIEW','explicit hash-bound reviewed nonmathematical scope required',rid,path) + if kind=='binary_proof' or suffix in BINARY_EXTENSIONS: + bs=entry.get('bindings') + if not isinstance(bs,dict) or set(bs)!={'G2','G4'}: + add('BINARY_BINDING','binary proof requires exact G2/G4 bindings',rid,path) + else: + for gate,value in bs.items(): + proof=binding(value,owner,gate+' binary proof evidence') + if not isinstance(proof,dict) or proof.get('type')!='kernel_evidence' or proof.get('gate')!=gate or proof.get('subject_sha256')!=entry['sha256'] or proof.get('observed_status')!='PASS' or type(proof.get('exit_code')) is not int or proof.get('exit_code')!=0 or not isinstance(proof.get('command'),list) or not proof['command'] or not nonempty(proof.get('run_id')): + add('BINARY_BINDING','missing/stale/nonpassing '+gate+' subject evidence',rid,path) + if data is None: + continue + text=None + if kind!='binary_proof' and suffix not in BINARY_EXTENSIONS: + try: + text=data.decode('utf-8') + except UnicodeError: + add('FILE_ENCODING','nonbinary classified file is not strict UTF-8',rid,path);continue + if language in {'lean','python'}: + if text is None: + add('SOURCE_CLASSIFICATION','binary object cannot be declared Lean/Python source',rid,path);continue + module=entry.get('module') + if not isinstance(module,str) or not module.startswith(language+':') or module_map.get(module)!=ref: + add('MODULE_ALIAS','source module must have one exact registered identity',rid,path) + result=check_lean(text) if language=='lean' else check_python(text, kind!='engineering_python') + source_results[ref]=result + raw_findings=list(result['findings']) + if kind in RETAINED: + actual=dict(Counter(f['code'] for f in raw_findings)) + if actual!=entry.get('expected_findings'): + add('RETAINED_FINDING_MISMATCH','expected '+repr(entry.get('expected_findings'))+' actual '+repr(actual),rid,path) + for f in raw_findings: + retained_findings.append({'root':rid,'path':path,**f}) + else: + for f in raw_findings: + add(f['code'],f['detail'],rid,path,f['line']) + graph[ref]=[] + for imported in result['imports']: + if language=='python' and imported=='fractions' and kind=='math_python' and 'python:fractions' not in module_map: + continue # Explicit exact-arithmetic trust profile; G7 binds runtime/stdlib. + target=module_map.get(language+':'+imported) + if target not in records: + add('IMPORT_UNRESOLVED','unknown/unsupported dependency '+language+':'+imported,rid,path) + else: + graph[ref].append(target) + if kind=='math_python' and records[target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only source '+target,rid,path) + if language=='python': + parts=imported.split('.') + for i in range(1,len(parts)): + prefix=module_map.get('python:'+'.'.join(parts[:i])) + if prefix in records: + graph[ref].append(prefix) + if kind=='math_python' and records[prefix]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only package prefix '+prefix,rid,path) + for candidate in result.get('import_candidates',[]): + candidate_target=module_map.get('python:'+candidate) + if candidate_target in records: + graph[ref].append(candidate_target) + if kind=='math_python' and records[candidate_target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only candidate '+candidate_target,rid,path) + if language=='lean' and kind not in RETAINED: + annotations=entry.get('vacuity') + declarations=result['declarations'] + keys=[d['key'] for d in declarations] + if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys): + add('VACUITY_COVERAGE','annotation keys must exactly cover theorem/lemma/example source locations',rid,path) + annotations=annotations if isinstance(annotations,dict) else {} + for declaration in declarations: + key=declaration['key'];a=annotations.get(key) + if not isinstance(a,dict) or not isinstance(a.get('status'),str) or a.get('status') not in {'conditional','nonvacuous','vacuous'} or not nonempty(a.get('reason')): + add('VACUITY_ANNOTATION','required status/reason for '+key,rid,path,declaration['line']);continue + if set(a)-{'status','reason','premises','evidence'}: + add('VACUITY_ANNOTATION','unknown annotation keys for '+key,rid,path,declaration['line']) + if a['status']=='conditional' and (not isinstance(a.get('premises'),list) or any(not nonempty(p) for p in a['premises'])): + add('VACUITY_ANNOTATION','explicit premises list required for '+key,rid,path,declaration['line']) + if declaration['contradictions'] and a['status']!='vacuous': + add('VACUITY_CONTRADICTION','syntactic contradiction candidates require vacuous: '+key+': '+repr(declaration['contradictions']),rid,path,declaration['line']) + if a['status']=='nonvacuous': + certificate=binding(a.get('evidence'),owner,'nonvacuity certificate '+key) + if not isinstance(certificate,dict) or certificate.get('type')!='nonvacuity_certificate' or certificate.get('subject_sha256')!=entry['sha256'] or certificate.get('declaration')!=key or not nonempty(certificate.get('witness_description')): + add('VACUITY_EVIDENCE','content-bound nonvacuity witness certificate required for '+key,rid,path,declaration['line']) + observations.append({'root':rid,'path':path,'declaration':key,'status':a['status'],'contradiction_candidates':declaration['contradictions']}) + if 'status_evidence' in entry: + if entry['status_evidence'] is not True: + add('STATUS_EVIDENCE','status_evidence must be true, never disable/skip',rid,path) + try: + s=strict_json(text) + except (ValueError,TypeError,RecursionError) as exc: + add('STATUS_EVIDENCE','invalid status JSON: '+str(exc),rid,path);continue + required={'schema_version','gate','observed_status','run_id','command','exit_code','inputs'} + if not isinstance(s,dict) or not required<=set(s) or set(s)-required-{'evidence'} or type(s.get('schema_version')) is not int or s.get('schema_version')!=1 or not isinstance(s.get('gate'),str) or s.get('gate') not in {'G'+str(i) for i in range(12)} or not isinstance(s.get('observed_status'),str) or s.get('observed_status') not in {'PASS','FAIL','NOT_RUN','ERROR','INACCESSIBLE'} or not nonempty(s.get('run_id')) or not isinstance(s.get('command'),list) or not s['command'] or any(not nonempty(c) for c in s['command']) or not isinstance(s.get('inputs'),dict) or not s['inputs']: + add('STATUS_EVIDENCE','invalid exact observed status schema',rid,path);continue + for input_ref,value in s['inputs'].items(): + target=records.get(input_ref) + if target is None or value!=target['entry'].get('sha256') or target['data'] is None or digest(target['data'])!=value: + add('STATUS_EVIDENCE','status input missing/stale: '+input_ref,rid,path) + if s['observed_status']=='NOT_RUN': + if s['exit_code'] is not None or 'evidence' in s: + add('STATUS_EVIDENCE','NOT_RUN cannot carry execution exit/evidence',rid,path) + else: + evidence=binding(s.get('evidence'),owner,'observed status receipt') + comparable={k:v for k,v in s.items() if k!='evidence'} + if json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':')) or type(s['exit_code']) is not int or (s['observed_status']=='PASS' and s['exit_code']!=0) or (s['observed_status']=='FAIL' and s['exit_code']==0): + add('STATUS_EVIDENCE','status differs from bound observed execution receipt',rid,path) + for start in sorted(graph): + if records[start]['entry']['kind'] in RETAINED: + continue + seen,pending=set(),list(graph[start]) + while pending: + target=pending.pop() + if target in seen: + continue + seen.add(target) + if records[target]['entry']['kind'] in RETAINED: + add('QUARANTINE_IMPORT','closed source depends on isolated source '+target,records[start]['root'],records[start]['path']) + pending.extend(graph.get(target,[])) + findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + retained_findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + manifest_bytes=json.dumps(manifest,sort_keys=True,separators=(',',':'),ensure_ascii=False).encode() + inventories={rid:digest(json.dumps(sorted(r['tracked_files']),ensure_ascii=False,separators=(',',':')).encode()) for rid,r in roots.items() if isinstance(r.get('tracked_files'),list) and all(isinstance(p,str) for p in r['tracked_files'])} + obligations=[{'gate':g,'required_work':work} for g,work in [ + ('G2','All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'), + ('G3','Actual Lean build and no sorry warnings; source scanning does not execute Lean.'), + ('G4','Kernel recheck every closed declaration and all bound binary proof objects.'), + ('G5','Execute retained regression tests; source profile does not establish runtime success or historical test retention.'), + ('G7','Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'), + ('G8','Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'), + ('G10','Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.')]] + return {'schema_version':1,'result':'STATIC_PASS' if not findings else 'FAIL','claim':'bounded static rules only; not CBZ-0 or mathematical proof closure', + 'manifest_sha256':digest(manifest_bytes),'inventory_sha256':inventories,'classified_count':classified_count, + 'scanned_count':scanned_count,'retained_count':len(retained_findings),'findings':findings, + 'fatal_gaps':[f for f in findings if f['code'].endswith('_GAP') or f['code'] in {'MANIFEST','SCOPE_CLASSIFICATION','CLASSIFICATION','FILE_MISSING','FILE_UNREADABLE','IMPORT_UNRESOLVED','EVIDENCE_BINDING'}], + 'retained_findings':retained_findings,'vacuity_observations':observations,'remaining_obligations':obligations, + 'files':[{'root':r['root'],'path':r['path'],'kind':r['entry']['kind'],'expected_sha256':r['entry']['sha256'],'actual_sha256':digest(r['data']) if r['data'] is not None else None} for _,r in sorted(records.items())]} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + sub=parser.add_subparsers(dest='command',required=True) + p=sub.add_parser('audit',help='audit exact controller-supplied tracked scope') + p.add_argument('--manifest',required=True,type=Path) + p.add_argument('--output',type=Path,help='also write deterministic report JSON') + args=parser.parse_args(argv) + try: + raw=args.manifest.read_bytes() + manifest=strict_json(raw.decode('utf-8')) + report=audit(manifest) + report['manifest_file_sha256']=digest(raw) + code=0 if report['result']=='STATIC_PASS' else 1 + except (OSError,ValueError,UnicodeError,RecursionError) as exc: + report={'schema_version':1,'result':'INPUT_ERROR','findings':[{'code':'INPUT','detail':str(exc)}]};code=2 + encoded=json.dumps(report,sort_keys=True,indent=2,ensure_ascii=False)+'\n' + if args.output: + try: + args.output.write_text(encoded,encoding='utf-8') + except OSError as exc: + report={'schema_version':1,'result':'OUTPUT_ERROR','findings':[{'code':'OUTPUT','detail':str(exc)}]} + encoded=json.dumps(report,sort_keys=True,indent=2)+'\n';code=3 + sys.stdout.write(encoded) + return code + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/canonical_lean.py b/cbz/contributions/math514/layer_a/canonical_lean.py new file mode 100644 index 000000000..2eee3a220 --- /dev/null +++ b/cbz/contributions/math514/layer_a/canonical_lean.py @@ -0,0 +1,621 @@ +#!/usr/bin/env python3 +"""Layer A textual scanner for Lean 4 sources (CBZ-0 gate G1). + +What it certifies, exactly: + For every scanned ``.lean`` file it reports each *code* token (outside + comments, string literals and char literals) that names a Layer A hazard: + + violation tokens (gate-failing in production context) + A1 placeholders : sorry, admit, sorryAx, admitGoal, mkSorry + A2 trust holes : axiom (declaration keyword), native_decide, + ofReduceBool, ofReduceNat, trustCompiler, + skipKernelTC (kernel-check bypass option), + addDeclWithoutChecking, and the ``decide`` options + ``+native`` / ``native := true`` + review tokens (reported, never gate-failing on their own) + A3 float : Float, Float32 + A2 compiled code: unsafe, implemented_by, extern + A1 tactic stop : ``stop`` as the first token on its line + + ``sorry``/``admit``/``axiom``/``native_decide``/``Float``/``Float32``/ + ``unsafe``/``stop`` match only as a whole undotted identifier; the other + violation tokens also match as the last component of a dotted name + (``Lean.ofReduceBool``, ``debug.skipKernelTC``), including an escaped + component (``Lean.«ofReduceBool»`` and ``«sorryAx»`` name the same + constants). An escaped keyword such as ``«sorry»`` is an ordinary + identifier, not the keyword, and is not flagged. + +Fail-closed: a string, block comment, raw string, interpolated string or +``«`` name or character literal left unterminated is reported as an ``error`` +finding, which fails the run like a violation, because the rest of the +file cannot be lexed reliably. + +What it does NOT certify: + * That a file compiles, or that no placeholder arises through + metaprogramming that never spells a listed token. Gates G2-G4 + (``#print axioms`` / kernel re-check) close that gap; this scanner is a + necessary, not sufficient, condition. + * Anything about non-Lean files (Python bounds are a separate gate). + +Lexing follows Lean 4: ``--`` line comments; nested ``/- -/`` block comments +(including ``/--`` and ``/-!``); ``"..."`` strings with backslash escapes; +interpolated strings (``s!"..{code}.."``, ``m!``, ``f!``) whose ``{}`` +regions are lexed as code, including layout after the prefix; balanced brace +regions in ordinary-looking strings are conservatively scanned too (macros +may interpolate them); raw strings ``r"..."`` / ``r#"..."#``; char +literals; and ``«...»`` escaped identifiers. + +Standard library only. No floating point is used in any decision. + +Usage: + layer_a_scan.py PATH... scan files/directories + layer_a_scan.py --git REPO --rev REV scan every .lean blob in a git tree +Options: + --json FILE write all findings as JSON + --fail-on CTX comma list of contexts whose violations fail the run + (default: production). Use "all" for every context. +Git mode scans regular owned blobs only: symlinks/gitlinks are rejected +until explicitly resolved and scanned by a separate pin-aware admission. +Filesystem mode rejects symlinks/missing roots, scans all directories except +.git (including .lake); prefer Git mode for repository-source inventories. +Use --fail-on all for the federation Layer A gate: context names are reporting +labels, not authorization to hide historical/control violations. +Exit status: 0 = no failing violation, 1 = failing violation, 2 = usage/IO. +""" +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys + +VIOLATION_EXACT = { + "sorry": "A1", + "admit": "A1", + "axiom": "A2", + "native_decide": "A2", +} +VIOLATION_COMPONENT = { + "sorryAx": "A1", + "admitGoal": "A1", + "mkSorry": "A1", + "ofReduceBool": "A2", + "ofReduceNat": "A2", + "trustCompiler": "A2", + "skipKernelTC": "A2", + "addDeclWithoutChecking": "A2", +} +REVIEW_EXACT = { + "Float": "A3", + "Float32": "A3", + "unsafe": "A2", +} +REVIEW_COMPONENT = { + "implemented_by": "A2", + "extern": "A2", +} +LINE_START_REVIEW = {"stop": "A1"} + +INTERP_PREFIXES = {"s!", "m!", "f!"} +# ``decide +native`` and ``native := true`` select compiler evaluation, i.e. +# ofReduceBool. ``native`` after a ``+`` is flagged even with a space between +# (safe direction: ``x + native`` is a false positive, never a miss). +_NATIVE_TRUE = re.compile(r"\s*:=\s*true(?![\w'!?])") +_EXCLUDED_LETTERS = {"λ", "Π", "Σ"} +_CHAR_LIT = re.compile(r"'(?:\\(?:u[0-9a-fA-F]{4}|x[0-9a-fA-F]{2}|[\\\"'rnt])|[^\\'\n])'") +# Pinned Lean4.34.1 Parser/Basic.lean:831-918. This recognizes spelling, +# never evaluates a numeral or makes a floating-point decision. +_NUMERAL = re.compile(r"(?:0[bB][01_]+|0[oO][0-7_]+|0[xX][0-9a-fA-F_]+|[0-9][0-9_]*(?:\.(?!\.)[0-9_]*)?(?:[eE][+-]?[0-9][0-9_]*)?)") + + +def _is_letter(ch: str) -> bool: + if ch in _EXCLUDED_LETTERS: + return False + if ch.isascii(): + return ch.isalpha() + o = ord(ch) + # Letter-like symbols and Greek/Coptic, as Lean's isLetterLike. + return (0x3B1 <= o <= 0x3C9 and o != 0x3BB) or (0x391 <= o <= 0x3A9 and o not in (0x3A0, 0x3A3)) \ + or 0x3CA <= o <= 0x3FB or 0x1F00 <= o <= 0x1FFE or 0x2100 <= o <= 0x214F \ + or 0x1D49C <= o <= 0x1D59F \ + or (0x00C0 <= o <= 0x00FF and o not in (0x00D7, 0x00F7)) \ + or 0x0100 <= o <= 0x017F + + +def _is_subscript(ch: str) -> bool: + o = ord(ch) + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A or o == 0x2C7C + + +def _id_start(ch: str) -> bool: + return ch == "_" or _is_letter(ch) + + +def _id_rest(ch: str) -> bool: + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or '0' <= ch <= '9' \ + or _is_letter(ch) or _is_subscript(ch) + + +def _code_follow(text: str, start: int) -> str: + """Remove layout from a native-option suffix, without a lookahead limit. + + Only the first assignment value is needed. Nested comments are layout; + an unfinished comment cannot manufacture a successful match. + """ + out = [] + i = start + while i < len(text) and len(out) < 8: + if text.startswith('--', i): + end = text.find('\n', i) + i = len(text) if end < 0 else end + elif text.startswith('/-', i): + depth = 1 + i += 2 + while i < len(text) and depth: + if text.startswith('/-', i): + depth += 1 + i += 2 + elif text.startswith('-/', i): + depth -= 1 + i += 2 + else: + i += 1 + if depth: + return '' + elif text[i].isspace(): + i += 1 + else: + out.append(text[i]) + i += 1 + return ''.join(out) + + +def _native_assignment(follow: str) -> bool: + """A native config field is unsafe unless its complete value is false. + + Eight non-layout characters cover ':=false' and its following delimiter. + Merely starting with false is insufficient (false || true is unsafe). + Other expressions are deliberately conservative findings, never evaluated. + """ + return (follow.startswith(':=') and + not (len(follow) >= 8 and follow[2:7] == 'false' and follow[7] in '},')) + + +def _brace_segments(text: str, start: int, end: int, line: int, col: int): + """Secondary conservative code-hole interpretation; primary cursor stays put. + + The same lexer reads a possible hole through nested strings/comments and + stops at its matching brace. It may extend past the first quote of the + primary ordinary-string interpretation: Lean macros can interpolate that + string and permit quoted terms inside its hole. Ambiguous ordinary brace + data can add findings, but cannot suppress primary-code findings. + """ + i = start + while i < end: + if text[i] == '\\': + i += 2 + continue + if text[i] == '{': + prefix = text[start:i + 1] + base_line = line + prefix.count('\n') + base_col = (len(prefix.rsplit('\n', 1)[-1]) + 1 if '\n' in prefix + else col + len(prefix)) + for name, ln, cl, first, plus, follow, field in lex_tokens(text[i + 1:], _until_brace=True): + yield name, base_line + ln - 1, (base_col + cl - 1 if ln == 1 else cl), first, plus, follow, field + i += 1 + + +def lex_tokens(text: str, errors: list | None = None, *, _until_brace: bool = False): + """Yield (name, line, col, line_start, plus_before, follow, field_before). + + ``name`` is the full dotted identifier text; an escaped ``«...»`` + component becomes ``\x00`` plus its text (inner dots as ``\x01``), so it + matches constant names but never a keyword. ``plus_before`` says the + identifier follows a ``+`` across layout; ``follow`` is a normalized + assignment-value prefix after it. + Unterminated constructs are appended to ``errors`` as (line, col, kind). + + Modes are kept on an explicit stack: a ``code`` frame (with a brace + depth when it is an interpolation region) or an ``istr`` frame (the body + of an interpolated string, where ``{`` opens a nested code region). + """ + i = 0 + n = len(text) + line = 1 + col = 1 + line_has_token = False + last_code_char = '' + stack: list[list] = [["code", 0 if _until_brace else None]] + if errors is None: + errors = [] + + def advance(k: int): + nonlocal i, line, col, line_has_token + for _ in range(k): + if i >= n: + return + if text[i] == "\n": + line += 1 + col = 1 + line_has_token = False + else: + col += 1 + i += 1 + + def read_ident_tail(parts: list[str]): + # dotted continuation: .ident or .«escaped» + while i < n and text[i] == "." and i + 1 < n and (_id_start(text[i + 1]) or text[i + 1] == "«"): + advance(1) + if text[i] == "«": + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + return + inner = text[i + 1:j] + advance(j + 1 - i) + parts.append("\x00" + inner.replace(".", "\x01")) + else: + s2 = i + while i < n and _id_rest(text[i]): + advance(1) + parts.append(text[s2:i]) + + while i < n: + frame = stack[-1] + c = text[i] + if frame[0] == "istr": + if c == "\\": + advance(2) + elif c == '"': + advance(1) + stack.pop() + elif c == "{": + advance(1) + stack.append(["code", 0]) + else: + advance(1) + continue + # ---- code mode + if c == "-" and text.startswith("--", i): + while i < n and text[i] != "\n": + advance(1) + continue + if c == "/" and text.startswith("/-", i): + start = (line, col) + depth = 0 + while i < n: + if text.startswith("/-", i): + depth += 1 + advance(2) + elif text.startswith("-/", i): + depth -= 1 + advance(2) + if depth == 0: + break + else: + advance(1) + if depth: + errors.append(start + ("unterminated_comment",)) + continue + if frame[1] is not None and c == "{": + frame[1] += 1 + advance(1) + continue + if frame[1] is not None and c == "}": + advance(1) + if frame[1] == 0: + if len(stack) == 1: + return + stack.pop() # back to the interpolated string body + else: + frame[1] -= 1 + continue + if c == '"': + if last_code_char in INTERP_PREFIXES: + start = (line, col) + advance(1) + stack.append(["istr", start[0], start[1]]) + line_has_token = True + last_code_char = '"' + continue + start = (line, col) + advance(1) + content_start = i + closed = False + while i < n: + cc = text[i] + if cc == "\\": + advance(2) + continue + advance(1) + if cc == '"': + closed = True + break + if not closed: + errors.append(start + ("unterminated_string",)) + else: + yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1) + line_has_token = True + last_code_char = '"' + continue + if c == "'": + m = _CHAR_LIT.match(text, i) + # Apostrophes also occur in Mathlib image/tSum/preimage notation. + prime_notation = (text.startswith("''", i) or + (i > 0 and not text[i - 1].isspace() + and text[i - 1] not in '=([{,;:')) + if m is None and not prime_notation: + errors.append((line, col, 'unterminated_char')) + advance(m.end() - i if m else (2 if text.startswith("''", i) else 1)) + line_has_token = True + last_code_char = "'" + continue + if c == "«": + start_line, start_col, start_first = line, col, not line_has_token + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + break + inner = text[i + 1:j] + advance(j + 1 - i) + parts = ["\x00" + inner.replace(".", "\x01")] + read_ident_tail(parts) + line_has_token = True + plus = last_code_char == '+' + field = last_code_char in ('{', ',', 'with') + last_code_char = 'identifier' + yield ".".join(parts), start_line, start_col, start_first, plus, _code_follow(text, i), field + continue + if _id_start(c): + start_line, start_col, start_first = line, col, not line_has_token + s = i + while i < n and _id_rest(text[i]): + advance(1) + word = text[s:i] + if word == "r" and i < n and text[i] in '"#': + k = i + while k < n and text[k] == "#": + k += 1 + if k < n and text[k] == '"': + close = '"' + "#" * (k - i) + end = text.find(close, k + 1) + if end < 0: + errors.append((start_line, start_col, "unterminated_raw_string")) + end = n if end < 0 else end + len(close) + advance(end - i) + line_has_token = True + last_code_char = '"' + continue + if word in INTERP_PREFIXES and i < n and text[i] == '"': + advance(1) + stack.append(["istr", start_line, start_col]) + line_has_token = True + last_code_char = '"' + continue + parts = [word] + read_ident_tail(parts) + line_has_token = True + plus = last_code_char == '+' + field = last_code_char in ('{', ',', 'with') + last_code_char = word + yield ".".join(parts), start_line, start_col, start_first, plus, _code_follow(text, i), field + continue + if c.isdigit(): + # A numeral can abut a command keyword in valid Lean (0axiom). + # Never swallow alphabetic code as part of a numeric token. + match = _NUMERAL.match(text, i) + advance(match.end() - i if match else 1) + line_has_token = True + last_code_char = 'number' + continue + if not c.isspace(): + line_has_token = True + last_code_char = c + advance(1) + for frame in stack: + if frame[0] == "istr": + errors.append((frame[1], frame[2], "unterminated_interpolated_string")) + break + + +def classify_token(name: str, line_start: bool, plus_before: bool = False, follow: str = "", field_before: bool = False): + """Return (kind, layer, severity) or None.""" + if name == '\x00native': + name = 'native' + last = name.split(".")[-1] + if last.startswith("\x00"): + # escaped component: the same constant name, never a keyword + last = last[1:] + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + if name == "native" and (plus_before or _NATIVE_TRUE.match(follow) or (field_before and _native_assignment(follow))): + return "native", "A2", "violation" + if "." not in name: + if name in VIOLATION_EXACT: + return name, VIOLATION_EXACT[name], "violation" + if name in REVIEW_EXACT: + return name, REVIEW_EXACT[name], "review" + if line_start and name in LINE_START_REVIEW: + return name, LINE_START_REVIEW[name], "review" + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + + +_EVIDENCE_SEG = re.compile(r"(^|/)(raw|runs|archive|attempts)(/|$)|-evidence(/|$)") +_CONTROL_NAME = re.compile(r"(?i)(control|negative|mutation|mutant|counterproof|falsifier)") + + +def context_of(path: str) -> str: + p = path.replace("\\", "/") + if _EVIDENCE_SEG.search(p): + return "evidence_copy" + if _CONTROL_NAME.search(os.path.basename(p)): + return "control" + return "production" + + +def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: + out = [] + ctx = context_of(path) + errors: list = [] + found = [] + seen = set() + for name, ln, cl, first, plus, follow, field in lex_tokens(text, errors): + r = classify_token(name, first, plus, follow, field) + if r is not None and (ln, cl, name, r) not in seen: + seen.add((ln, cl, name, r)) + found.append((ln, cl, name.replace("\x00", "«").replace("\x01", "."), r)) + for ln, cl, kind in errors: + found.append((ln, cl, "", (kind, "A", "error"))) + for ln, cl, token, (kind, layer, sev) in sorted(found, key=lambda x: (x[0], x[1])): + f = {"path": path, "line": ln, "col": cl, "token": token, "kind": kind, + "layer": layer, "severity": sev, "context": ctx} + if blob: + f["blob"] = blob + out.append(f) + return out + + +def iter_fs(paths): + def walk_error(exc): + raise exc + for p in paths: + if not os.path.exists(p): + raise OSError(f"source path does not exist: {p}") + if os.path.islink(p): + raise OSError(f"source symlink requires explicit target admission: {p}") + if os.path.isdir(p): + for root, dirs, files in os.walk(p, onerror=walk_error): + dirs[:] = sorted(d for d in dirs if d != ".git") + for d in dirs: + if os.path.islink(os.path.join(root, d)): + raise OSError(f"source directory symlink requires explicit target admission: {d}") + for fn in sorted(files): + if fn.endswith(".lean"): + full = os.path.join(root, fn) + if os.path.islink(full): + raise OSError(f"source symlink requires explicit target admission: {full}") + yield os.path.relpath(full, p), full + elif p.endswith(".lean"): + yield p, p + + +def git_lean_blobs(repo: str, rev: str): + env = {k: v for k, v in os.environ.items() if not k.startswith("GIT_")} + env.update(GIT_CONFIG_GLOBAL=os.devnull, GIT_CONFIG_SYSTEM=os.devnull, + GIT_NO_REPLACE_OBJECTS="1", GIT_NO_LAZY_FETCH="1", + GIT_TERMINAL_PROMPT="0") + cmd = ["git", "--no-replace-objects", "-C", repo] + ls = subprocess.run(cmd + ["ls-tree", "-r", "-z", rev], + check=True, capture_output=True, env=env).stdout + entries = [] + for rec in ls.split(b"\0"): + if not rec: + continue + meta, path = rec.split(b"\t", 1) + mode, typ, sha = meta.split() + p = path.decode("utf-8", "strict") + if typ == b"commit": + raise OSError(f"gitlink requires a separately pinned scan: {p}") + if typ == b"blob" and p.endswith(".lean"): + if mode not in (b"100644", b"100755"): + raise OSError(f"nonregular source blob requires explicit admission: {p}") + entries.append((p, sha.decode())) + if not entries: + return + proc = subprocess.Popen(cmd + ["cat-file", "--batch"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) + try: + for p, sha in entries: + proc.stdin.write(sha.encode() + b"\n") + proc.stdin.flush() + header = proc.stdout.readline().split() + if len(header) != 3 or header[0] != sha.encode() or header[1] != b"blob" or not header[2].isdigit(): + raise OSError(f"invalid git blob header: {p}") + size = int(header[2]) + data = proc.stdout.read(size) + trailer = proc.stdout.read(1) + if len(data) != size or trailer != b"\n": + raise OSError(f"truncated git blob: {p}") + yield p, sha, data + proc.stdin.close() + code = proc.wait() + if code != 0: + raise OSError(f"git cat-file failed with exit {code}") + finally: + if proc.poll() is None: + proc.terminate() + if not proc.stdin.closed: + proc.stdin.close() + proc.stdout.close() + proc.stderr.close() + proc.wait() + + +def main(argv=None) -> int: + ap = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + ap.add_argument("paths", nargs="*") + ap.add_argument("--git", metavar="REPO") + ap.add_argument("--rev", default="HEAD") + ap.add_argument("--json", metavar="FILE") + ap.add_argument("--fail-on", default="production") + args = ap.parse_args(argv) + if not args.paths and not args.git: + ap.print_usage(sys.stderr) + return 2 + findings: list[dict] = [] + files = 0 + undecodable = [] + try: + if args.git: + for p, sha, data in git_lean_blobs(args.git, args.rev): + files += 1 + try: + text = data.decode("utf-8") + except UnicodeDecodeError: + undecodable.append(p) + continue + findings += scan_text(text, p, sha) + for rel, full in iter_fs(args.paths): + files += 1 + try: + with open(full, encoding="utf-8") as fh: + text = fh.read() + except UnicodeDecodeError: + undecodable.append(rel) + continue + findings += scan_text(text, rel) + except (OSError, UnicodeDecodeError, subprocess.CalledProcessError) as exc: + print(f"layer_a_scan: error: {exc}", file=sys.stderr) + return 2 + fail_ctx = None if args.fail_on == "all" else set(args.fail_on.split(",")) + failing = [f for f in findings if f["severity"] in ("violation", "error") + and (fail_ctx is None or f["context"] in fail_ctx)] + summary = {"files": files, "findings": len(findings), + "violations": sum(f["severity"] == "violation" for f in findings), + "errors": sum(f["severity"] == "error" for f in findings), + "failing": len(failing), "undecodable": undecodable} + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"summary": summary, "findings": findings}, fh, indent=1, ensure_ascii=False) + for f in failing: + print(f"{f['path']}:{f['line']}:{f['col']}: {f['layer']} {f['kind']} ({f['context']})") + print(json.dumps(summary, ensure_ascii=False)) + # Undecodable files cannot be certified clean: fail closed. + if undecodable: + return 1 + return 1 if failing else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/admission-final-binding-check.json b/cbz/contributions/math514/layer_a/evidence/admission-final-binding-check.json new file mode 100644 index 000000000..cfcb92ef6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/admission-final-binding-check.json @@ -0,0 +1,870 @@ +{ + "baseline": { + "assertion_failures": 0, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "-m", + "unittest", + "discover", + "-s", + "/workspace/cbz-0/tools/layer_a/tests", + "-v" + ], + "errors": 0, + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log", + "log_sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546", + "returncode": 0, + "tests_run": 70 + }, + "mutant_log_inspections": [ + { + "assertion_failures": 72, + "errors": 0, + "failed_test_names": [ + "test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first)", + "test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned)", + "test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection)", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext')", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice')", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound')", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean)", + "test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source)", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.\u00abaddDeclWithoutChecking\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := \u00absorryAx\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.\u00abofReduceBool\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\\n := /- nested /- c -/ -/\\n true })')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source=\"def c := 'a\")", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := \"unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#\"unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def \u00abunterminated')", + "test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module)", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal')", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry')", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true')", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorry\u03bb := 1')", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x')", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern \"c\"] def f := 1')", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape)", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler')", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed')", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := \"open')", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##\"open\"#')", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def \u00abopen := 1')", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!\"{by sorry}\"')", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='\"Q.Bad\"')", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r\"Q.Bad\"')", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand=\"'q'\")", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro \"magic\" : term => `(by trivial)')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab \"magic\" : term => pure ()')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax \"magic\" : term')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.\u00abaddDeclWithoutChecking\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := \u00abaddDeclWithoutChecking\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\\n native\\n :=\\n true\\n})')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { \u00abnative\u00bb /- gap -/ := true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.\u00abofReduceBool\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := \u00absorryAx\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.\u00abadmitGoal\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.\u00abmkSorry\u00bb')", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape)", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix)", + "test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source=\"def x := 'a\")", + "test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source=\"def x := '\\\\n\")", + "test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source=\"def x := '\\\\\")", + "test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source=\"def x := '\")" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "log_sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089", + "name": "empty-lean-findings" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorry\u03bb := 1')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "log_sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad", + "name": "canonical-unicode-boundary-weakened" + }, + { + "assertion_failures": 17, + "errors": 0, + "failed_test_names": [ + "test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first)", + "test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection)", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean)", + "test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source)", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := \u00absorryAx\u00bb')", + "test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module)", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal')", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry')", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorry\u03bb := 1')", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape)", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := \u00absorryAx\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.\u00abadmitGoal\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.\u00abmkSorry\u00bb')", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "log_sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328", + "name": "disable-placeholder-category" + }, + { + "assertion_failures": 6, + "errors": 0, + "failed_test_names": [ + "test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned)", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext')", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice')", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "log_sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc", + "name": "disable-axiom-category" + }, + { + "assertion_failures": 19, + "errors": 0, + "failed_test_names": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.\u00abofReduceBool\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\\n := /- nested /- c -/ -/\\n true })')", + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt')", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\\n native\\n :=\\n true\\n})')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { \u00abnative\u00bb /- gap -/ := true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.\u00abofReduceBool\u00bb')", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "log_sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736", + "name": "disable-native-category" + }, + { + "assertion_failures": 6, + "errors": 0, + "failed_test_names": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.\u00abaddDeclWithoutChecking\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.\u00abaddDeclWithoutChecking\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := \u00abaddDeclWithoutChecking\u00bb')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "log_sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e", + "name": "disable-unchecked-declaration-refusal" + }, + { + "assertion_failures": 5, + "errors": 0, + "failed_test_names": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source=\"def c := 'a\")", + "test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source=\"def x := 'a\")", + "test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source=\"def x := '\\\\n\")", + "test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source=\"def x := '\\\\\")", + "test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source=\"def x := '\")" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "log_sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488", + "name": "skip-malformed-character-refusal" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.\u00abadmitGoal\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.\u00abmkSorry\u00bb')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "log_sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0", + "name": "miss-escaped-placeholder-helpers" + }, + { + "assertion_failures": 11, + "errors": 0, + "failed_test_names": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.\u00abaddDeclWithoutChecking\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := \u00absorryAx\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.\u00abofReduceBool\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.\u00abaddDeclWithoutChecking\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := \u00abaddDeclWithoutChecking\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { \u00abnative\u00bb /- gap -/ := true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.\u00abofReduceBool\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := \u00absorryAx\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.\u00abadmitGoal\u00bb')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.\u00abmkSorry\u00bb')", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "log_sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d", + "name": "drop-escaped-constant-normalization" + }, + { + "assertion_failures": 5, + "errors": 0, + "failed_test_names": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\\n := /- nested /- c -/ -/\\n true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\\n native\\n :=\\n true\\n})')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })')", + "test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { \u00abnative\u00bb /- gap -/ := true })')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "log_sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46", + "name": "miss-multiline-commented-native-config" + }, + { + "assertion_failures": 6, + "errors": 0, + "failed_test_names": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern \"c\"] def f := 1')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro \"magic\" : term => `(by trivial)')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab \"magic\" : term => pure ()')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax \"magic\" : term')", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "log_sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27", + "name": "disable-macro-gap-category" + }, + { + "assertion_failures": 5, + "errors": 0, + "failed_test_names": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively)", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine)", + "test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed)", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely)", + "test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "log_sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d", + "name": "drop-lean-dependencies" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "log_sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4", + "name": "disable-float-literal-category" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "log_sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f", + "name": "allow-python-division" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94", + "name": "allow-negative-dynamic-powers" + }, + { + "assertion_failures": 6, + "errors": 0, + "failed_test_names": [ + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval(\"0.1\")')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,\"real\")')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\\n return 1\\ng=f\\nx=g()')", + "test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7", + "name": "allow-unknown-python-calls" + }, + { + "assertion_failures": 27, + "errors": 0, + "failed_test_names": [ + "test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)')", + "test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\\nf=float\\nx=f(1)')", + "test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\\ndef f(): return 1\\nf=F.from_float\\nx=f(1)')", + "test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\\ndef g(f): return f(1)\\nx=g(float)')", + "test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\\nx=int(1,2)')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\\nx=sqrt(2)')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval(\"0.1\")')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,\"real\")')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\\nF=lambda x:x\\nx=F(0.1)')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\\n return Fraction(1)')", + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\\n return 1\\ng=f\\nx=g()')", + "test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass')", + "test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1')", + "test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\\ndef f(): return 1')", + "test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\\n x=1\\nexcept:\\n pass')", + "test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y')", + "test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()')", + "test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\\nx=f.Fraction(1,2)')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "log_sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de", + "name": "disable-exact-python-profile" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "log_sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5", + "name": "allow-reflective-attributes" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\\nF=lambda x:x\\nx=F(0.1)')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836", + "name": "allow-protected-name-rebinding" + }, + { + "assertion_failures": 3, + "errors": 0, + "failed_test_names": [ + "test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader)", + "test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source=\"getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')\")", + "test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source=\"vars()['__builtins__']['__import__']('Q.bad')\")" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "log_sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177", + "name": "restore-reflective-builtin-loader-gap" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source=\"f.__globals__['__builtins__']['__import__']('Q.bad')\")", + "test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "log_sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9", + "name": "disable-reflective-loader-attributes" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine)", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "log_sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9", + "name": "truncate-primed-lean-imports" + }, + { + "assertion_failures": 4, + "errors": 0, + "failed_test_names": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='\"Q.Bad\"')", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r\"Q.Bad\"')", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand=\"'q'\")", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "log_sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4", + "name": "silence-unsupported-lean-import-tail" + }, + { + "assertion_failures": 3, + "errors": 0, + "failed_test_names": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='\"Q.Bad\"')", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r\"Q.Bad\"')", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand=\"'q'\")" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "log_sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b", + "name": "drop-literal-import-operands" + }, + { + "assertion_failures": 18, + "errors": 0, + "failed_test_names": [ + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected)", + "test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence)", + "test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader)", + "test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively)", + "test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic)", + "test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first)", + "test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary)", + "test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review)", + "test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow)", + "test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine)", + "test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings)", + "test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis)", + "test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases)", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine)", + "test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine)", + "test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers)", + "test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration)", + "test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "log_sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5", + "name": "skip-all-but-first-file" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "log_sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889", + "name": "allow-incomplete-classification" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "log_sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19", + "name": "allow-unknown-classification" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection)", + "test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "log_sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb", + "name": "disable-content-hash-check" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "log_sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea", + "name": "allow-symlink-files" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "log_sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5", + "name": "allow-unreadable-files" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped)", + "test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "log_sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307", + "name": "skip-unreadable-file" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code)", + "test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "log_sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f", + "name": "allow-relabeled-source" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "log_sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc", + "name": "skip-retained-text-language-requirement" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "log_sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa", + "name": "skip-mapped-external-language-requirement" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh')", + "test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "log_sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad", + "name": "allow-unsupported-source-extension-language" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0", + "name": "allow-unpinned-external-source" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "log_sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff", + "name": "skip-nonmath-review" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence)", + "test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08", + "name": "skip-binary-proof-bindings" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean)", + "test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7", + "name": "ignore-retained-finding-counts" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf", + "name": "ignore-quarantine-boundary" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow)", + "test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "log_sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f", + "name": "restore-shadowed-fractions-exemption" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "log_sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df", + "name": "drop-python-submodule-candidates" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "log_sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2", + "name": "allow-nonmath-dependency-values" + }, + { + "assertion_failures": 7, + "errors": 0, + "failed_test_names": [ + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\\\b')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='\u00e9/../a')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='e\u0301.txt')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "log_sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403", + "name": "skip-path-validation" + }, + { + "assertion_failures": 5, + "errors": 0, + "failed_test_names": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively)", + "test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary)", + "test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine)", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine)", + "test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e", + "name": "allow-quarantine-dependency" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5", + "name": "skip-vacuity-coverage" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd", + "name": "ignore-contradictory-hypotheses" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993", + "name": "allow-unbound-nonvacuity" + }, + { + "assertion_failures": 3, + "errors": 0, + "failed_test_names": [ + "test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings)", + "test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers)", + "test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "log_sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3", + "name": "skip-status-evidence" + }, + { + "assertion_failures": 1, + "errors": 0, + "failed_test_names": [ + "test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "log_sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655", + "name": "conflate-status-json-booleans-and-integers" + }, + { + "assertion_failures": 2, + "errors": 0, + "failed_test_names": [ + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp3bc6i47p', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}})", + "test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e", + "name": "allow-arbitrary-foundation-set" + }, + { + "assertion_failures": 68, + "errors": 0, + "failed_test_names": [ + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\\\b')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='\u00e9/../a')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='e\u0301.txt')", + "test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected)", + "test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code)", + "test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence)", + "test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash)", + "test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader)", + "test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable)", + "test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys)", + "test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively)", + "test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected)", + "test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first)", + "test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green)", + "test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary)", + "test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review)", + "test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow)", + "test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode)", + "test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned)", + "test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection)", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext')", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice')", + "test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound')", + "test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine)", + "test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh')", + "test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js')", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}})", + "test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings)", + "test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis)", + "test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped)", + "test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source)", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean)", + "test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate)", + "test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened)", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine)", + "test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine)", + "test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source)", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.\u00abaddDeclWithoutChecking\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := \u00absorryAx\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.\u00abofReduceBool\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\\n := /- nested /- c -/ -/\\n true })')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source=\"def c := 'a\")", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := \"unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#\"unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def \u00abunterminated')", + "test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module)", + "test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent)", + "test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers)", + "test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration)", + "test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed)", + "test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed)", + "test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected)", + "test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read)" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "log_sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132", + "name": "empty-final-findings" + }, + { + "assertion_failures": 22, + "errors": 0, + "failed_test_names": [ + "test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader)", + "test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys)", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}})", + "test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}})", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.\u00abaddDeclWithoutChecking\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := \u00absorryAx\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.\u00abofReduceBool\u00bb')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\\n := /- nested /- c -/ -/\\n true })')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source=\"def c := 'a\")", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := \"unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#\"unterminated')", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def \u00abunterminated')" + ], + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "log_sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5", + "name": "always-report-static-pass" + } + ], + "observed_status": "PASS", + "original_44_mutants_preserved": true, + "receipt": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final.json", + "receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "schema_version": 1, + "scope": "New final admission generation receipt/source/log binding and assertion-kill inspection; no mathematical or historical test execution", + "source_bindings_checked": 9 +} diff --git a/cbz/contributions/math514/layer_a/evidence/admission-import-literal-red.log b/cbz/contributions/math514/layer_a/evidence/admission-import-literal-red.log new file mode 100644 index 000000000..ef1aaf9ed --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/admission-import-literal-red.log @@ -0,0 +1,99 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.335s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/admission-independent-review.md b/cbz/contributions/math514/layer_a/evidence/admission-independent-review.md new file mode 100644 index 000000000..a3ecee233 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/admission-independent-review.md @@ -0,0 +1,92 @@ +# Layer A focused admission review + +The reviewed generation requires corrections before admission under its stated mechanical contract. Five new, narrowly scoped fixtures produced `STATIC_PASS` with no blocking findings: four source/import coverage gaps and one type-insensitive status binding. These findings concern the exact-scope auditor, not mathematical correctness. + +Reviewed source generation: + +- `auditor.py`: SHA256 `5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440`. +- `source_checks.py`: SHA256 `0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786`. +- Existing G0 receipt: `tools/layer_a/evidence/g0-hardening.json`, SHA256 `9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619`. + +The completed 60-test/44-mutant result, nine source bindings, and checked logs were reused as supplied verification evidence. They were not rerun. The earlier 56-test/39-mutant generation and its evidence remain applicable to their unchanged scope; these new cases expose uncovered obligations rather than invalidate that historical evidence. No repository mathematical verification, actual-repository G1, Lean build, Git operation, canonical write, or source edit was performed by this reviewer. + +## Findings + +| Severity | Location in reviewed generation | Finding | +|---|---|---| +| P1 | `source_checks.py:224`, `source_checks.py:246`, `source_checks.py:258` | Engineering source can use a direct reflective builtins importer without a dynamic-loading finding or import edge. | +| P1 | `auditor.py:172`, `auditor.py:182`, `auditor.py:222` | A retained source with an unrecognized suffix can omit language and module, so its source is never checked. | +| P1 | `auditor.py:175`, `auditor.py:182`, `auditor.py:184` | A known unsupported source extension can claim Lean/Python and avoid the required language gap. | +| P1 | `source_checks.py:169`, `source_checks.py:173`, `source_checks.py:177` | Lean import extraction silently discards a trailing unsupported identifier after one accepted module, bypassing mapped isolation. | +| P2 | `auditor.py:301`, `auditor.py:303` | Observation comparison treats Boolean fields as equal to integer schema/exit fields. | + +### P1: reflective engineering loader bypasses isolation + +The engineering checker accepts: + +```python +getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad') +``` + +`check_python(..., mathematical=False)` returns empty findings and imports. The expression explicitly obtains the builtins importer, handling both module and dictionary forms of `__builtins__`. The current dynamic-name set omits `__builtins__`, and the AST checks for arbitrary calls/reflective attributes are skipped for engineering source. + +The full fixture had a clean classified `Q/__init__.py`, a quarantined `Q/bad.py` containing `x=0.5` with exact retained finding map `{"PY_INEXACT":1}`, the engineering runner above, and a valid hash-bound nonmathematical review. All four files were read. The auditor returned `STATIC_PASS`, `findings: []`, and the retained `PY_INEXACT` finding for `Q/bad.py`; no edge connected the runner to that quarantined source. + +This contradicts the documented refusal of reflective loaders and the closed-source isolation boundary. A nonmathematical execution review does not waive that boundary. Refuse the explicit reflective entrypoints conservatively or report a dependency-certification gap; no arbitrary dataflow analysis is required to reject this case. + +### P1: retained source can escape source scanning + +The full fixture contained one `Q.txt` file with these classification fields: + +```json +{ + "kind": "quarantined_source", + "sha256": "", + "expected_findings": {}, + "quarantine": { + "id": "Q-1", + "boundary": "exact isolated fixture file", + "blocking_reason": "unproved fixture", + "owner": "none", + "maintenance": "zero" + } +} +``` + +Its content was `theorem t : False := by sorry\n`. Language and module were absent. The auditor returned `STATIC_PASS`, empty blocking/retained findings, and classified/scanned counts of one. Here `scanned_count` records a byte read; `check_lean` was never called, so the declared exact retained finding map was never compared with source findings. + +The README requires language and module for every retained source. Require a supported language and registered module for these source classifications regardless of filename suffix. The same static branch also permits a mapped `external_pinned` module without a language when its suffix is not recognized; mapped module identities should require actual supported source checking. That related external variant was identified statically, not executed as an additional fixture. + +### P1: unsupported source extension can claim a supported language + +The one-file fixture classified `bad.sh`, content `echo hello\n`, as `external_pinned` with `language: "lean"`, `module: "lean:Bad"`, `vacuity: {}`, a valid immutable pin, and the exact module-map entry. The result was `STATIC_PASS` with empty findings and one file read. + +The suffix is recognized as source, but only known Lean/Python suffixes establish an `expected_language`. Consequently, the supported label suppresses `LANGUAGE_GAP` for known unsupported extensions. Enforce the supported extension/language relation before invoking a source checker, and report a gap for `.sh`, `.js`, and other explicitly known unsupported source extensions. This is a classification-support issue, not a request to inspect arbitrary file content or implement another language parser. + +### P1: trailing import token is silently omitted + +The fixture's closed file contained: + +```lean +import Good Q.Bad' +``` + +`Good.lean` was clean project source. `Q/Bad'.lean` was mapped to `lean:Q.Bad'`, quarantined, and retained `LEAN_PLACEHOLDER: 1` exactly. `check_lean` returned `imports: ["Good"]`, empty findings, and no declarations. The full auditor returned `STATIC_PASS`, empty blocking findings, and the quarantined source's retained placeholder finding. + +The import-name regular expression excludes the trailing apostrophe even though Lean identifiers can contain it. More generally, once any module is accepted, the loop terminates at an unrecognized token without reporting a gap. The unchecked tail must either be parsed completely or refused. The documented fail-closed rule requires this even for a syntax shape outside the bounded parser's support; it must not silently become an absent dependency. + +### P2: observation equality is not type-sensitive + +A valid status file used `schema_version: 1`, `exit_code: 0`, `observed_status: "PASS"`, valid gate/run/command/input fields, and an exact hash binding to a classified observation JSON file. That observation was identical except for `schema_version: true` and `exit_code: false`. The full auditor returned `STATIC_PASS` with empty findings. + +The primary status file is type-checked, but the bound observation is compared through Python dictionary equality. In Python, `True == 1` and `False == 0`; the observation therefore passes despite differing from the required integer schema/content. Validate the observation's field types or use a type-sensitive structural/canonical-JSON comparison. This finding concerns exact schema binding only, not execution authenticity. + +## Review limits and handoff + +The review read SPEC, README, the current build report, actual checker sources, behavioral tests, mutation harness tests, public-lexer provenance, and the G0 receipt. The mutation runner's current kill branch requires a nonzero return, a test count, assertion failures, and zero reported errors; syntax failure, runtime/import errors, timeout, and identity survival are handled separately. No new harness error counted as a kill was found in this static inspection. This does not authenticate arbitrary future log output. + +The existing discovery build report still described the earlier 56/39 lexer generation when read. Its update was already assigned to the author as pending final packaging and was not treated as an independent source defect. + +The author was notified promptly of each confirmed fixture and acknowledged all five. The author will preserve the 60/44 generation, add focused failing contracts and corresponding source mutations, and correct only the affected rules. This report records the reviewed generation and original observations; subsequent corrected-source evidence must identify the changed generation and the affected checks. A new handoff alone does not require repeating unchanged verification. + +This is a separate-agent source review within the same provider, not provider-distinct external review. Any such process requirement remains separate from the mathematical and mechanical evidence already completed. The contribution remains an exact-manifest/isolation complement. Arbitrary SAT/dataflow, inventory authenticity, semantic certificate truth, G2/G4/G7/G8, and federation closure remain separate obligations. diff --git a/cbz/contributions/math514/layer_a/evidence/admission-review-green.log b/cbz/contributions/math514/layer_a/evidence/admission-review-green.log new file mode 100644 index 000000000..93484db45 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/admission-review-green.log @@ -0,0 +1,71 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +---------------------------------------------------------------------- +Ran 66 tests in 0.350s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/admission-review-red.log b/cbz/contributions/math514/layer_a/evidence/admission-review-red.log new file mode 100644 index 000000000..a6825917b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/admission-review-red.log @@ -0,0 +1,191 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') ... FAIL + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="vars()['__builtins__']['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="f.__globals__['__builtins__']['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()') ... FAIL +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 279, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'dbbbb815eafd7aaf91b0f5f165be9aa35b9c57574eb72a1b0bb52b525e9f613a', 'inventory_sha256': {'r': 'da5c483a10a4572334df90f0b7cf8a9e9cae04845b1b459107489dd0ef583c66'}, 'classified_count': 3, 'scanned_count': 3, 'retained_count': 1, 'findings': [], 'fatal_gaps': [], 'retained_findings': [{'root': 'r', 'path': 'Q/bad.py', 'code': 'PY_INEXACT', 'detail': 'float/complex literal forbidden in mathematical program', 'line': 1}], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/bad.py', 'kind': 'quarantined_source', 'expected_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815', 'actual_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815'}, {'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4', 'actual_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4'}, {'root': 'r', 'path': 'runner.py', 'kind': 'engineering_python', 'expected_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83', 'actual_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83'}]} + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 287, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 287, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 302, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 309, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 292, in test_retained_text_source_requires_language_then_a_registered_module + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 318, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="vars()['__builtins__']['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="f.__globals__['__builtins__']['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 195, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: ['Good'] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 3 additional elements. +First extra element 1: +"Q.Bad'" + +- ['Good'] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 199, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.420s + +FAILED (failures=13) diff --git a/cbz/contributions/math514/layer_a/evidence/adversarial-green.log b/cbz/contributions/math514/layer_a/evidence/adversarial-green.log new file mode 100644 index 000000000..ed0467e56 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/adversarial-green.log @@ -0,0 +1,46 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +---------------------------------------------------------------------- +Ran 41 tests in 0.211s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/adversarial-red.log b/cbz/contributions/math514/layer_a/evidence/adversarial-red.log new file mode 100644 index 000000000..a9f0cec71 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/adversarial-red.log @@ -0,0 +1,175 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2jnypzxn', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... ERROR + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2jnypzxn', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... ERROR + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2jnypzxn', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2jnypzxn', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... FAIL +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... + test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) (text='loader=__import__\nloader("bad")') ... FAIL + test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) (text='from . import bad') ... FAIL + test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) (text='from bad import *') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +ERROR: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2jnypzxn', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 383, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + r=auditor.audit(m) + ^^^^^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/auditor.py", line 118, in audit + if entry.get('kind') not in KINDS: + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +TypeError: unhashable type: 'list' + +====================================================================== +ERROR: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2jnypzxn', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 383, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + r=auditor.audit(m) + ^^^^^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/auditor.py", line 163, in audit + if language is not None and language not in {'lean','python'}: + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +TypeError: unhashable type: 'list' + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 389, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2jnypzxn', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0d3f55f38ee19571f886933a22b7b6a4759c264d9301f980cb1a2a7947cdcce1', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2jnypzxn', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '958eb3e28b8bef7c22e7b5df20e93df184e9470fc3458792e331314ec2ed6c9a', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 399, in test_modules_cannot_point_to_documentation_in_place_of_source + self.assertIn('MODULE_ALIAS',self.codes()) +AssertionError: 'MODULE_ALIAS' not found in set() + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) (text='loader=__import__\nloader("bad")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 135, in test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps + self.assertTrue(self.python_codes(text,False)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) (text='from . import bad') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 135, in test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps + self.assertTrue(self.python_codes(text,False)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) (text='from bad import *') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 135, in test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps + self.assertTrue(self.python_codes(text,False)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 41 tests in 0.217s + +FAILED (failures=11, errors=2) diff --git a/cbz/contributions/math514/layer_a/evidence/auditor-postfix-review.md b/cbz/contributions/math514/layer_a/evidence/auditor-postfix-review.md new file mode 100644 index 000000000..5ec438aee --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/auditor-postfix-review.md @@ -0,0 +1,57 @@ +# Layer A focused postfix admission review + +The five findings in `discovery/auditor-independent-review.md` are resolved in the final reviewed generation under the stated bounded mechanical contract. The additional ordinary-string, raw-string and character import operands are also refused. This focused source review found no remaining admission blocker in those corrections. It supports admission of this exact Layer A contribution with the limitations below; it does not declare federation CBZ-0 or mathematical closure. + +The review read the affected checker branches, targeted tests, mutation definitions, final baseline log and the nine new mutation assertion traces. It reused the completed final G0 result and the author's completed source/log integrity check. No tests, mathematical checks, Lean builds, actual-repository G1, Git operations or canonical writes were performed. The only reviewer write is this report. + +| Original severity | Finding | Disposition and current implementation | +|---|---|---| +| P1 | Reflective engineering builtins loader bypassed isolation | Resolved. `source_checks.py:233` includes the explicit builtins/namespace reflection names. The name, defined globals/class/frame attribute and dynamic-call checks at lines 255–268 run before the engineering-scope continuation at line 269. A hash-bound nonmathematical review therefore cannot waive these dependency findings. The original `getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')` fixture is covered both directly and through the manifest auditor. | +| P1 | Retained source with an unfamiliar suffix omitted language/module and escaped checking | Resolved. `auditor.py:182` requires supported language for every retained source regardless of suffix, and for an external source with a declared module. Once language is present, lines 224–230 require the registered matching module and invoke its source checker. The `Q.txt` contract tests missing language, missing module and successful exact retention in sequence. The mapped external `fake.txt` case separately checks the related language obligation. | +| P1 | Known unsupported source suffix claimed Lean/Python and avoided a gap | Resolved. `auditor.py:184` derives the supported extension relation; lines 185–186 emit `LANGUAGE_GAP` whenever a recognized source suffix has no supported checker, regardless of the claimed language. Both `.sh` labeled Lean and `.js` labeled Python are targeted cases. | +| P1 | Lean import tail was silently discarded after an accepted module | Resolved within the bounded import parser. `source_checks.py:181` accepts the documented plain apostrophe/`!`/`?` suffixes and emits `LEAN_IMPORT_GAP` for unsupported/escaped operands or trailing syntax. The mapped `Q.Bad'` fixture now enters isolation checking. Literal sentinels emitted at lines 37–38, 60, 68 and 92 ensure ordinary/raw strings and characters remain visible as unsupported import operands instead of disappearing. | +| P2 | Status observation dictionary equality conflated Boolean and integer fields | Resolved. `auditor.py:305` compares strict parsed observations using sorted canonical JSON serialization, retaining the distinction between `true`/`1` and `false`/`0`. Exact primary schema and integer-exit checks remain. The targeted bound-observation fixture requires `STATUS_EVIDENCE` for the original Boolean/integer mismatch. | + +The specifications describe these policies in `SPEC.md` and `README.md`, including the restricted import syntax, defined reflective entrypoints, retained/mapped external language obligations, unsupported source suffixes and type-sensitive A7 observation binding. There is no added general dynamic-loader analysis or semantic certificate claim. + +The reused final receipt is `tools/layer_a/evidence/g0-admission-final.json`, SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`. It records `PASS`, an exit-0 baseline of 70 tests (67 auditor tests and three harness tests), zero baseline failures/errors, 53/53 actual checker-source mutants killed, and unchanged bound inputs during the run from `2026-10-29T18:08:14.586906+00:00` through `2026-10-29T18:08:38.534945+00:00`. The corresponding final console log records `G0 PASS: 70 baseline tests; 53/53 checker-source mutants killed`. + +The author's `tools/layer_a/evidence/admission-final-binding-check.json` records `PASS`, nine source bindings checked, all 53 mutant log bindings and assertion inspections, and preservation of the original 44 mutant names. Root supplied this completed integrity evidence and confirmed the nine bound inputs remain stable during packaging. This review cites that check without repeating its hashing. + +The following new mutation traces were read directly. Each ran the 67 auditor tests, exited 1, reported assertion failures and reported zero errors. All targeted original and extension tests appear `ok` in the recorded final baseline. + +| Added actual source mutation | Assertion failures | Affected assertion evidence | +|---|---:|---| +| `restore-reflective-builtin-loader-gap` | 3 | Original manifest false-green returns under mutation; direct builtins and `vars` reflection cases lose `PY_DYNAMIC_IMPORT`. | +| `disable-reflective-loader-attributes` | 2 | Globals and class/subclass reflection cases lose `PY_DYNAMIC_IMPORT`. | +| `truncate-primed-lean-imports` | 2 | Complete suffix extraction and the mapped primed-module isolation expectation fail. This mutation still produces an import gap; its kill establishes required extraction/isolation behavior rather than recreating a green result. | +| `silence-unsupported-lean-import-tail` | 4 | Bad syntax and all three literal operands lose `LEAN_IMPORT_GAP`. | +| `drop-literal-import-operands` | 3 | Ordinary-string, raw-string and character operands lose `LEAN_IMPORT_GAP`. | +| `skip-retained-text-language-requirement` | 1 | Unlabeled retained `Q.txt` loses `LANGUAGE_GAP`. | +| `skip-mapped-external-language-requirement` | 1 | Mapped external text module loses `LANGUAGE_GAP`. | +| `allow-unsupported-source-extension-language` | 2 | Lean-labeled shell and Python-labeled JavaScript lose `LANGUAGE_GAP`. | +| `conflate-status-json-booleans-and-integers` | 1 | Boolean/integer observation mismatch loses `STATUS_EVIDENCE`. | + +These logs are under `tools/layer_a/evidence/g0-admission-final-mutation-logs/`. The actual mutation runner copies the checker and auditor tests into a temporary directory, changes one actual checker source, and distinguishes assertion kills from invalid syntax, import/runtime errors, timeouts and survival. The nine new names extend the prior 44; none were removed. No harness error is represented as one of these nine assertion kills. + +The final receipt records these current source bindings, carried forward from the completed integrity check: + +| Relative to `tools/layer_a/` | SHA256 | +|---|---| +| `auditor.py` | `c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710` | +| `source_checks.py` | `9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94` | +| `canonical_lean.py` | `eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0` | +| `mutation_test.py` | `6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623` | +| `tests/test_auditor.py` | `61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e` | +| `tests/test_mutation_runner.py` | `350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653` | +| `SPEC.md` | `9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29` | +| `README.md` | `0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888` | +| `LEXER_PROVENANCE.json` | `0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db` | + +The public lexer remains the exact pinned PR29 source at head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169`, native blob `0a113896aff4c999111193359c38906ff61e52e8`. Its recorded published verification is inherited contributor evidence. This review neither reran it nor established a competing lexer implementation. + +Historical evidence remains generation-specific and reusable: `g0-final.json` records 56 tests/39 mutants, `g0-hardening.json` records 60/44, and `g0-admission-fix.json` records 69/52 before the additional literal-tail correction. Their respective bound source snapshots remain under `pre-hardening-source/`, `pre-admission-fix-source/` and `pre-import-literal-fix-source/`. The newly exposed obligations explain the later corrections; neither a handoff nor pending process review erases the completed evidence for unchanged scope. + +The admission claim is finite behavioral coverage of the exact-manifest classification, byte/hash, supported source, isolation and evidence-binding rules. Recognized unsupported source extensions, defined reflective entrypoints and unsupported parsed import operands block closed source; isolated retained findings remain exact counted findings rather than clean certification. This does not prove completeness for arbitrary runtime loading, arbitrary source semantics, proposition satisfiability or generated/elaborated declarations. It does not authenticate supplied Git inventories, pins, execution receipts, external review identities or certificate truth. Actual-repository G1 is still `NOT_RUN` in this review. G2/G4/G7/G8 and other federation obligations remain separate. + +This is a separate-agent source review within the same provider. It supplies no provider-distinct process credit and no federation closure declaration. Applicable mathematical verification remains reusable under the owner's workspace guidance; this review did not repeat or downgrade it. diff --git a/cbz/contributions/math514/layer_a/evidence/classification-review-green.log b/cbz/contributions/math514/layer_a/evidence/classification-review-green.log new file mode 100644 index 000000000..98b1155a9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/classification-review-green.log @@ -0,0 +1,52 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 47 tests in 0.990s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/classification-review-red.log b/cbz/contributions/math514/layer_a/evidence/classification-review-red.log new file mode 100644 index 000000000..c96a86272 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/classification-review-red.log @@ -0,0 +1,65 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 419, in test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 426, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in {'FILE_ENCODING'} + +---------------------------------------------------------------------- +Ran 44 tests in 0.244s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/ALIASES.json b/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/ALIASES.json new file mode 100644 index 000000000..268a04bc4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/ALIASES.json @@ -0,0 +1,98 @@ +{ + "schema_version": 1, + "logical_tool_prefix": "cbz/contributions/math514/layer_a/", + "purpose": "Resolve raw component source references without substituting the byte-different composed runtime.", + "resolution_rule": "Match raw source path plus the source SHA256 declared by its receipt/review; generation is an optional further selector. Never resolve an ambiguous raw path by path alone. Match the relative target bytes to the expected SHA256 within the exact publication Git tree; mismatch is an error. This exact-source map takes precedence over broader historical prefix/path-only aliases.", + "raw_relative_rule": "Review entries named work/X resolve beneath /workspace/cbz-0/delivery/auditor-review-closure/ before exact path+SHA matching.", + "snapshots_are_active_imports": false, + "snapshot_role": "retained source audit fixtures, never execution entrypoints or replacements for current runtime", + "aliases": [ + { + "component_generation": "review-boundary-pre-notebook", + "raw_source_path": "/workspace/cbz-0/delivery/auditor-review-closure/work/auditor.py", + "relative_publication_path": "evidence/review-boundary-fix/pre-notebook-source/auditor.py", + "sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "bytes": 27000, + "binding_role": "existing immutable retained source snapshot" + }, + { + "component_generation": "review-boundary-pre-notebook", + "raw_source_path": "/workspace/cbz-0/delivery/auditor-review-closure/work/source_checks.py", + "relative_publication_path": "evidence/review-boundary-fix/pre-notebook-source/source_checks.py", + "sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "bytes": 18681, + "binding_role": "existing immutable retained source snapshot" + }, + { + "component_generation": "review-boundary-pre-notebook", + "raw_source_path": "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", + "relative_publication_path": "evidence/review-boundary-fix/pre-notebook-source/mutation_test.py", + "sha256": "5ded9168b19ec759d16b2597dab5f0e3efc1a6598b22664de94787f7e1a62940", + "bytes": 32441, + "binding_role": "existing immutable retained source snapshot" + }, + { + "component_generation": "review-boundary-pre-notebook", + "raw_source_path": "/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py", + "relative_publication_path": "evidence/review-boundary-fix/pre-notebook-source/tests/test_auditor.py", + "sha256": "045de33d67dfc9ccabf8a16079b5a9c8a6af0fa2e85f988db596e318cadc749e", + "bytes": 50501, + "binding_role": "existing immutable retained source snapshot" + }, + { + "component_generation": "review-boundary-notebook", + "raw_source_path": "/workspace/cbz-0/delivery/auditor-review-closure/work/auditor.py", + "relative_publication_path": "auditor.py", + "sha256": "309935e125195ae8093ffeb691f9d4c16f6c69e3dbb74b453ed6d50e05be1619", + "bytes": 27143, + "binding_role": "existing exact source; immutable enclosing Git tree plus explicit expected SHA256" + }, + { + "component_generation": "review-boundary-notebook", + "raw_source_path": "/workspace/cbz-0/delivery/auditor-review-closure/work/source_checks.py", + "relative_publication_path": "evidence/review-boundary-fix/pre-notebook-source/source_checks.py", + "sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "bytes": 18681, + "binding_role": "existing exact source; immutable enclosing Git tree plus explicit expected SHA256" + }, + { + "component_generation": "review-boundary-notebook", + "raw_source_path": "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", + "relative_publication_path": "evidence/component-source-snapshots/review-boundary-notebook/mutation_test.py", + "sha256": "fe3a1caa252eca0a678295c717eae8c9b7df8d36a4f1b0c8df740d8c33801af8", + "bytes": 32571, + "binding_role": "new retained source snapshot" + }, + { + "component_generation": "review-boundary-notebook", + "raw_source_path": "/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py", + "relative_publication_path": "tests/test_auditor.py", + "sha256": "73e0b36fe95774af04b433f2de748911625a4ed10cf9f5f46c86249f19707ddc", + "bytes": 51228, + "binding_role": "existing exact source; immutable enclosing Git tree plus explicit expected SHA256" + }, + { + "component_generation": "identity-exact-descriptor", + "raw_source_path": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/mutation_test.py", + "relative_publication_path": "evidence/grader-identity-fix/historical-source/exact-descriptor/mutation_test.py", + "sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "bytes": 41569, + "binding_role": "existing immutable retained identity source snapshot; supersedes raw alias to byte-different current runtime" + }, + { + "component_generation": "identity-exact-descriptor", + "raw_source_path": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/tests/test_mutation_runner.py", + "relative_publication_path": "tests/test_mutation_runner.py", + "sha256": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866", + "bytes": 32402, + "binding_role": "existing exact source; immutable enclosing Git tree plus explicit expected SHA256" + } + ], + "current_composed_mutation_test_sha256": "9146cd183a8fcdc93623de20596966b118f3a9e5403d94f74f6be0fe46e4e731", + "distinct_component_mutation_sources": [ + "5ded9168b19ec759d16b2597dab5f0e3efc1a6598b22664de94787f7e1a62940", + "fe3a1caa252eca0a678295c717eae8c9b7df8d36a4f1b0c8df740d8c33801af8", + "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2" + ], + "no_tests_or_certification_replayed": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/README.md b/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/README.md new file mode 100644 index 000000000..0afa99eb6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/README.md @@ -0,0 +1,7 @@ +# Component source custody + +`ALIASES.json` resolves component review and receipt source paths by both their raw path and their recorded source SHA256. The same temporary working path held multiple valid generations; path-only lookup is ambiguous. Exact aliases take precedence over broader historical aliases. Every target must still match its recorded digest within the exact published Git tree. + +The combined runtime mutation_test.py is 9146cd18. Original review, notebook and identity components bind 5ded9168, fe3a1caa and cf742de4 respectively. These are distinct sources. The original review source quartet is already retained under evidence/review-boundary-fix/pre-notebook-source. Identity cf742de4 is already retained under evidence/grader-identity-fix/historical-source/exact-descriptor. Only the missing notebook component mutation_test.py is added here; matching auditor, checker and test files reuse their exact existing Git-bound paths. + +The Python snapshot is a retained source audit fixture. It is not an active import, test population or runtime entrypoint, and should not be executed to recreate unchanged verification. No tests, scanner certification, kernel work or mathematical verification were rerun for this custody repair. Kernel identity runtime/test files already match their component source bindings exactly and require no extra snapshot. diff --git a/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/review-boundary-notebook/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/review-boundary-notebook/mutation_test.py new file mode 100644 index 000000000..fba4f31a4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/component-source-snapshots/review-boundary-notebook/mutation_test.py @@ -0,0 +1,478 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('discard-known-notebook-source-suffixes','auditor.py',"NOTEBOOK_SUFFIXES = ('.ipynb', '.ipynb.txt')","NOTEBOOK_SUFFIXES = ()"), + ('restore-augmented-division-gap', 'source_checks.py', 'if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div):', 'if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):'), + ('restore-augmented-power-gap', 'source_checks.py', 'if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow):', 'if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):'), + ('restore-python-candidate-nonmath-gap', 'auditor.py', "if kind=='math_python' and records[candidate_target]['entry']['kind']=='engineering_python':", 'if False:'), + ('restore-python-prefix-nonmath-gap', 'auditor.py', "if kind=='math_python' and records[prefix]['entry']['kind']=='engineering_python':", 'if False:'), + ('restore-null-status-evidence-skip', 'auditor.py', "if 'status_evidence' in entry:", "if entry.get('status_evidence') is not None:"), + ('restore-es-module-extension-gap', 'auditor.py', "'.js','.mjs','.ts'", "'.js','.ts'"), + ('restore-es-module-text-wrapper-gap', 'auditor.py', "'.sh.txt','.js.txt','.mjs.txt'", "'.sh.txt','.js.txt'"), + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if 'status_evidence' in entry:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,selected,invalid=inspect_test_population(suite) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + setattr(test,method,body) + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=unittest.TextTestRunner(stream=stream,verbosity=2,resultclass=PhaseResult).run(suite) + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=unittest.TestLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/composed-admission.json b/cbz/contributions/math514/layer_a/evidence/composed-admission.json new file mode 100644 index 000000000..00a333b86 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/composed-admission.json @@ -0,0 +1,139 @@ +{ + "actual_repository_G1": "NOT_RUN", + "claim": "finite composed current tool admission evidence;56 fresh distinct methods in affected scopes and27 unchanged auditor methods reused; no fresh whole83-test/full57-scanner-mutant run, no actual repositoryG1 or Lean/compiler execution", + "current_method_inventory": { + "auditor_methods": 72, + "fresh_affected_lexer": 45, + "fresh_distinct_total": 56, + "fresh_existing_harness": 3, + "fresh_new_harness": 8, + "harness_methods": 11, + "historical_unaffected_auditor": 27, + "total": 83 + }, + "current_scanner_mutation_definitions": 57, + "evidence_sha256": { + "evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md": "266b969941e35a1703ab0cf4c095f1a222eb5b9b1f3cafeb1142bbda4547b682", + "evidence/lifecycle-grader-repair/SOURCE_SHA256.json": "7fa273830cd4b48b75db970c143596c07cc9898d19d6d26d0776f5200fb99b08", + "evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log": "97329f849c40ec14ba28671433676756d4f17a2357a6ce5fc94d9621bb3fe2e5", + "evidence/lifecycle-grader-repair/actual-source-controls/identity.log": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log": "f2f9b477dc19bb0cbb40c5d0b074148fc3d9198ff042c5c9efd3f08740e26e73", + "evidence/lifecycle-grader-repair/actual-source-controls/receipts.json": "1e6495f2a1b155fb3893960c37bff367275a5538eef7d0ee9af52929aeae7223", + "evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log": "ea7a8f0e5d1ea18680fc28c97b70d171471dafe21ae248bb96a44640f934f706", + "evidence/lifecycle-grader-repair/allow-boolean-counts.log": "f555fc30a591c4a7f46af27a7795a0a52e4775d7eb203c6a3fd0fdd8cf05a2d7", + "evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log": "a34f020aad6559eec1cd1018305c42d5f8008a7f0f5f0da24511bfde0286f45e", + "evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log": "975312c9d33754a0ee0df3679c7fa8529d5bcd552cc97118d57ba6c16b750df1", + "evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log": "58712533cadfadbff6d3a2428557f1f6aef65748d7480e33026c2cf16574d777", + "evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log": "db9ab71d5d65e4726cdc57b3317baf222bb699dbf6177a762529a338940a2369", + "evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log": "3931e34a8b85b973a515c6fc2033147f82277924eafc0ea1387221735abdd3b5", + "evidence/lifecycle-grader-repair/baseline-source-sha256.json": "2103e82406645987ef87649b63240a9ea3abe2f17288a22956724b4ec0b27770", + "evidence/lifecycle-grader-repair/benign-setup-assertion.log": "4fafb267b998b6df5671ea143ed5768aaaeec2795c4ca0b315e07439747b335b", + "evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log": "abdffb3ed8af9407cdc0b0beabea9f732036b08e81a083fad7164cebb7cf636b", + "evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log": "819fb90ee586987ab069f952a62c4bcbf147ac0e1db23188fd1dd344576a1026", + "evidence/lifecycle-grader-repair/drop-body-entry-accounting.log": "658660c0339ae12ac0a25ea1c218e980198ff1c317fbf55c4dc81090100fd541", + "evidence/lifecycle-grader-repair/drop-external-population-binding.log": "e06761b787303128d4abc303cffd5059cc43a1ea6fdb4de47ffb83a6e265ba5d", + "evidence/lifecycle-grader-repair/drop-schema-requirement.log": "f295efcaed50cf4319d7762d18e71a79bfbedd3a7d508332b8a72a578621148e", + "evidence/lifecycle-grader-repair/evidence-index.json": "791859398241ca57c9baf6273c39b18d8843764e37212b38b9d2c12652af8ecf", + "evidence/lifecycle-grader-repair/final-accounting-source-controls.json": "58ae0684468b4472f55287091517a4e5462bffedac079d0fa8d930b9c0d1e03f", + "evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log": "b823ea9d7f3e570c0ca22f460dcc7b65bac5b29babc6e79ecce1e65fdc510372", + "evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log": "6eac87ca6e8d1470236dd3624d790866189b90290bfc684f6216f418e896a562", + "evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json": "c1c5eeaab374105dd0cc5cf9f8342396712364a73ad3fd303db0bccf31e61bee", + "evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log": "5c625a02969576a12922738f68eb9b162714b040165e518f1b7e1c75ddd10c3b", + "evidence/lifecycle-grader-repair/final-focused-tests.log": "70d28a9ffaf56e2766f01bffe94ff146a70d09100fea66c75af86f25e6eefe89", + "evidence/lifecycle-grader-repair/final-forged-receipts-normal.log": "5a158f43f99092a7307ac637eb76794198cf387d497369e80ad3a304dd06b363", + "evidence/lifecycle-grader-repair/green-dispatch-hook.log": "90fcd430201a339409a2736b39eec1361204c8002b3e040af47a75436bedf563", + "evidence/lifecycle-grader-repair/green-external-population.log": "d4c87cb11d5b3c7038b11b38516c25cca5ff75e52849a0a0e23dfe37429c1709", + "evidence/lifecycle-grader-repair/green-focused-tests.log": "2478a211506f7fa0ed64e3a42a19cfe6418e48860382b3e4d392ecb8eacbede7", + "evidence/lifecycle-grader-repair/green-forged-subtest-events.log": "991f5f3bf95c06c6b1ca4e7bd99a83c9d47a2a934fb282088b498b223dfd7ec5", + "evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log": "bed3024419f029375d02a4e93649d85fd533d54511aa1acc94b914d2ced2d429", + "evidence/lifecycle-grader-repair/green-synthetic-callback.log": "ab63922ceb0f3700dcbd2205834243ca8e096f29e172d5e3eaaaa050e7f2ceb4", + "evidence/lifecycle-grader-repair/harness-source-controls-initial.json": "0cbf90e399ae6c10c2774fcb4fff6eeadc107d1f4730d67a582a38249ba36976", + "evidence/lifecycle-grader-repair/harness-source-controls.json": "100f9129b8cec349cf54e42362edd7441cac12c91ef3e76cfaed6ccc1e9ae5d5", + "evidence/lifecycle-grader-repair/ignore-completed-population.log": "b5e3f880d283ad9733985f7654fa9ba75f1f1b0eb90e1231cbd054be70496b83", + "evidence/lifecycle-grader-repair/ignore-subtest-event-count.log": "7005456e8bebe2eb9b56e56a8c44b35aa4aaa2e914b51f1da9c2f6a1bb7a07d7", + "evidence/lifecycle-grader-repair/ignore-subtest-phase.log": "49506c9b219a5cb5e0697b9a8b78b2d560ba090c22fc140e90cad562b2726a59", + "evidence/lifecycle-grader-repair/independent-lifecycle-review.json": "e9ad02a21799e314b5374d77cb6aef468e2561f92ee23d9b5e3fefe6e19df242", + "evidence/lifecycle-grader-repair/lose-method-decorators.log": "7eab1e0a89fd174118f1188ee01510fe393bc5741bcb2130479d925978c62b2b", + "evidence/lifecycle-grader-repair/new-obligation-source-controls.json": "24627a65535cd182478a12796da4ee6927ceed8a93ca94be5af3c8c469046b0d", + "evidence/lifecycle-grader-repair/optimized-focused-tests.log": "0e5b8339c21caa406ac6ba6049539620044f1bd4ea42f92ecc5be55916fbb5eb", + "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log": "8a6dfe4fbb3a4856f9ea8d12cb55caa4f31095eb17a370b1196c5493ddfbe001", + "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log": "f3721624aa8831b88c0db6b9e251dabc4d21a2a5b0226f57f99246db94343cc8", + "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json": "6ef5102e00197a3577c2a7f01dfb30939944b16806631cf67515317b724dd549", + "evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py": "e3ef018ee646ce11514331488660b4e492b23384d3043c003be54e478e7f707c", + "evidence/lifecycle-grader-repair/red-assertion-event-provenance.log": "15520d4df9d87acd07e812b17011fc9d4f3a83314ba7b7412b251a24e1890ed2", + "evidence/lifecycle-grader-repair/red-body-scoped-subtests.log": "b711eb863e5cc7bf5e113ff7fd1976c971ee5d79324191f4e3b040b85c22c574", + "evidence/lifecycle-grader-repair/red-external-population.log": "e6d91ece48ee4bbbbea511f7ff2a66ae1328b91a0020320fbca773a2b6354ace", + "evidence/lifecycle-grader-repair/red-focused-tests.log": "c8fc90a471bfe549d6b953270b152b79adfc458b73efbff8669bfac1271c6590", + "evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log": "be631658efceb86a65e35e072a91a4a179850e5c34ce3b71f935b2e5846ace46", + "evidence/lifecycle-grader-repair/red-setup-false-kill.json": "cf2e097d01ebb3366c46efb70e23dbd8c1b3de80b1b83668d5d215b1a20a7dc4", + "evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py": "84ce26cdf0eb5a99a29ede88bc7745fa07901785c18895d1ed7f73b3008efa3d", + "evidence/lifecycle-grader-repair/run-harness-source-controls.py": "927db98e307dd03eb03685f806dd1e4009a4abb076c5d59b7fec3810b3a2df9f", + "evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py": "75042321cd76b3513c14f5fc45393cb6bb5b86e1cedf75d4a289e25795cd151a" + }, + "gate": "G0_COMPONENT_COMPOSITION", + "lexer_component": { + "fresh_methods_per_mode": 45, + "fresh_mutants_per_mode": 19, + "historical_unchanged_behavioral_methods": 27, + "historical_unchanged_scanner_mutants": 38, + "receipt": "evidence/lexer698-admission.json", + "sha256": "0749e207efa46545ffbb2c1ad73fb1305dbf7b73f052deeaa02fb84bd1adb3b4" + }, + "lifecycle_component": { + "dynamic_actual_source_controls": { + "outcomes": [ + "SURVIVED", + "KILLED", + "ERROR" + ], + "receipt": "evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "scope": "one selected original actual checker method, identity/placeholder weakening/import-error setup; separate from method inventory" + }, + "existing_harness_methods_fresh_per_mode": 3, + "existing_harness_receipt": { + "path": "evidence/existing-harness-current-receipt.json", + "sha256": "3a84e01a6a38651a1c8c67e1d1a00f0a6bb763c73cfc5c1f762aef57329e4f0a" + }, + "final_normal_additional_forgery_log": "evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "final_normal_log": "evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "final_optimized_log": "evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "fresh_new_methods_per_mode": 8, + "grader_source_mutations": { + "claim": "15 observations across distinct generations, duplicate-population guard refined twice; do not fabricate a combined final15 run", + "groups": [ + { + "killed": 10, + "receipt": "evidence/lifecycle-grader-repair/harness-source-controls.json" + }, + { + "killed": 3, + "receipt": "evidence/lifecycle-grader-repair/new-obligation-source-controls.json" + }, + { + "killed": 2, + "receipt": "evidence/lifecycle-grader-repair/final-accounting-source-controls.json" + } + ] + } + }, + "new_Lean_compiler_runs": 0, + "observed_status": "PASS", + "review": { + "claim": "same-provider independent scoped source reviews; no provider-distinct/scientific credit", + "lexer": "auditor-lexer-postfix-review.md", + "lifecycle": "evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "lifecycle_sha256": "e9ad02a21799e314b5374d77cb6aef468e2561f92ee23d9b5e3fefe6e19df242" + }, + "schema_version": 1, + "source_sha256": { + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/ORCHESTRATION_CORRECTION.md b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/ORCHESTRATION_CORRECTION.md new file mode 100644 index 000000000..220641a09 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/ORCHESTRATION_CORRECTION.md @@ -0,0 +1 @@ +The first campaign orchestration compared the already successful ordered selected population against a sorted list, causing a receipt-admission error after both actual52-method runs had passed. The runner receipts/logs are retained unchanged and reused after correcting the caller to the exact provided order. No tests were repeated for this administrative error. The first seven-control post-fix run also exposed an erroneous test column expectation22/28; direct source-line indexing established20/26, and the corrected exact assertions pass in the52-method runs. Original RED and initial post-fix failure remain retained. diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/ORIGIN_PATH_MAP.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/ORIGIN_PATH_MAP.json new file mode 100644 index 000000000..498f8810d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/ORIGIN_PATH_MAP.json @@ -0,0 +1,16 @@ +{ + "raw_receipts_unchanged": true, + "path_prefix_map": [ + { + "recorded": "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/", + "portable": "evidence/declaration-numeric/" + }, + { + "recorded": "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/", + "portable": "" + } + ], + "recorded_test_source_before_guard_move": "test_auditor-before-registration-move.py", + "current_test_source": "../../tests/test_auditor.py", + "registration_applicability": "registration-move-applicability.json" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/applicability.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/applicability.json new file mode 100644 index 000000000..913bdb3a1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/applicability.json @@ -0,0 +1,21 @@ +{ + "source_functions_changed": [ + "lean_tokens" + ], + "canonical_lexer_unchanged": true, + "auditor_unchanged": true, + "grader_functions_and_classes_ASTs_unchanged": true, + "prior72_behavioral_test_ASTs_unchanged": true, + "prior57_mutation_definitions_unchanged": true, + "prior15_grader_methods_file_unchanged": true, + "fresh_methods": 52, + "reused_methods": 42, + "new_mutations": 3, + "predecessor_mutations_retained": 57, + "reuse_basis": [ + "The 27 unaffected Python/manifest methods use unchanged check_python/auditor paths; the 45 affected Lean methods passed freshly.", + "The 15 grader methods use unchanged grader functions/classes and an unchanged test file. Those methods do not inspect MUTATIONS.", + "The 57 existing mutation tuples preserve their guarded logic and body assertions. The new lexer only separates leading numerals. Prior Lean controls passed; the historical 19/38 receipts remain exact source-bound observations, not a fresh 60-mutant campaign." + ], + "registration_move": "registration-move-applicability.json" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/current-composed-admission.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/current-composed-admission.json new file mode 100644 index 000000000..c14dd3347 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/current-composed-admission.json @@ -0,0 +1,54 @@ +{ + "schema_version": 1, + "gate": "G0_COMPONENT_COMPOSITION", + "published_predecessor_head": "eedb46c36e664b66684a701c3adeacb70f8fac2f", + "observed_status": "PASS_AFFECTED_SCOPE", + "actual_repository_G1": "NOT_RUN", + "claim": "The 94-method/60-definition inventory is composed: 52 affected methods and three new source guard mutants per mode. No full 94/60 run or mathematical/scientific closure is claimed.", + "source_sha256": { + "source_checks.py": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "e0cc3d77716e143dd374f2a23fc28923b8590e5dffed83e20733cd329553ddeb", + "tests/test_auditor.py": "d28d370108b5466f510e540c2e673de2f96e1286aa9d44212728b0c2a8bd7b3c", + "tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + "predecessor_source_sha256": { + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + "method_inventory": { + "current": 94, + "auditor": 79, + "existing_grader": 15, + "fresh_per_mode": 52, + "affected_predecessor_per_mode": 45, + "new": 7, + "reused_unaffected": 42 + }, + "checker_mutants": { + "current_definitions": 60, + "preserved_predecessor": 57, + "fresh_new_guard_mutants_per_mode": 3, + "new_guard_mode_executions": 6, + "predecessor_source_bound_evidence": "Earlier 19 affected plus 38 historical composition; no fresh 57-mutant rerun." + }, + "new_full_G0_run": false, + "new_CI_run": false, + "new_Lean_or_math_run": false, + "evidence": { + "normal": "normal/campaign.json", + "optimized": "optimized/campaign.json", + "red": "red-new-controls.json", + "initial_postfix_failure": "green-new-controls-initial.json", + "applicability": "applicability.json", + "registration": "registration-move-applicability.json", + "independent_review": "review/final-review.json" + }, + "boundary": "Bounded syntax/metadata only. Newly exposed declarations require vacuity annotations; final controller refreshes only affected rows. Kernel/proof closure and source-inventory authentication remain independent.", + "independent_review_sha256": "d41632dcd0e600fef55a2065b2a4bfe0ac3905c6f49414b9b960d47073d1d863" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/direct-entry-new-controls.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/direct-entry-new-controls.log new file mode 100644 index 000000000..48d3b44a4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/direct-entry-new-controls.log @@ -0,0 +1,12 @@ +test_identifier_literal_and_character_boundaries_remain_intact (__main__.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeral_metadata_preserves_spelling_and_locations (__main__.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... ok +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (__main__.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (__main__.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (__main__.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok +test_numeric_spellings_preserve_adjacent_anonymous_examples (__main__.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (__main__.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok + +---------------------------------------------------------------------- +Ran 7 tests in 0.006s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/green-new-controls-initial.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/green-new-controls-initial.json new file mode 100644 index 000000000..0bb2863b3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/green-new-controls-initial.json @@ -0,0 +1,232 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "started_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "finished_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "body_entered_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "body_finished_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "body_assertion_ids": [ + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations" + ], + "assertion_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 31, + "subtest_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 7, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok\n\n======================================================================\nFAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] != [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)]\n\nFirst differing element 1:\n('1.0E+1', 3, 20)\n('1.0E+1', 3, 22)\n\n- [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n? ^ ^\n\n+ [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)]\n? ^ ^\n\n\n----------------------------------------------------------------------\nRan 7 tests in 0.006s\n\nFAILED (failures=1)\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/green-new-controls-initial.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/green-new-controls-initial.log new file mode 100644 index 000000000..e0a7dc3c6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/green-new-controls-initial.log @@ -0,0 +1,32 @@ +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok + +====================================================================== +FAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 279, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] != [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)] + +First differing element 1: +('1.0E+1', 3, 20) +('1.0E+1', 3, 22) + +- [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] +? ^ ^ + ++ [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)] +? ^ ^ + + +---------------------------------------------------------------------- +Ran 7 tests in 0.006s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/new-mutants.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/new-mutants.json new file mode 100644 index 000000000..2fbdabcc8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/new-mutants.json @@ -0,0 +1,20 @@ +[ + [ + "restore-metadata-generic-numeral-swallowing", + "source_checks.py", + " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", + " elif c.isalpha() or c == '_' or c.isdigit():" + ], + [ + "discard-metadata-numeral-tokens", + "source_checks.py", + "tokens.append(Token(text[i:end], line, column)); advance(end)", + "advance(end)" + ], + [ + "overshoot-metadata-numeral-boundary", + "source_checks.py", + "tokens.append(Token(text[i:end], line, column)); advance(end)", + "tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))" + ] +] diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/affected-baseline.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/affected-baseline.json new file mode 100644 index 000000000..8ed52ba39 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/affected-baseline.json @@ -0,0 +1,794 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 101, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 52, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\ntest_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok\ntest_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok\ntest_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok\ntest_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok\ntest_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok\ntest_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok\ntest_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok\ntest_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok\ntest_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok\ntest_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok\ntest_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok\ntest_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok\ntest_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok\ntest_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok\ntest_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok\ntest_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok\ntest_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok\ntest_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok\ntest_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok\ntest_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok\ntest_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok\ntest_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok\ntest_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok\ntest_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok\ntest_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok\ntest_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok\ntest_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok\ntest_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok\ntest_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok\ntest_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok\ntest_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok\ntest_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok\ntest_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok\ntest_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok\ntest_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok\ntest_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok\ntest_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok\ntest_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok\ntest_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok\ntest_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok\ntest_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok\ntest_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... ok\ntest_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok\n\n----------------------------------------------------------------------\nRan 52 tests in 0.074s\n\nOK\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/affected-baseline.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/affected-baseline.log new file mode 100644 index 000000000..1d83ea4e6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/affected-baseline.log @@ -0,0 +1,57 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... ok +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok + +---------------------------------------------------------------------- +Ran 52 tests in 0.074s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/campaign.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/campaign.json new file mode 100644 index 000000000..952660f2f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/campaign.json @@ -0,0 +1,3393 @@ +{ + "mode": "normal", + "started_utc": "2026-10-29T20:54:12.620818+00:00", + "ended_utc": "2026-10-29T20:54:13.426328+00:00", + "selected_methods": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "new_methods": [ + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "fresh_methods": 52, + "affected_predecessor_methods": 45, + "new_method_count": 7, + "bindings": { + "source_checks.py": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "e0cc3d77716e143dd374f2a23fc28923b8590e5dffed83e20733cd329553ddeb", + "tests/test_auditor.py": "eea839d76ca3510cb72ca9ebe3a1778c3a768d1e8ce7b0f7500f730a607a47a7", + "tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + "baseline": { + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests", + "--output", + "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/normal/affected-baseline.json", + "--test", + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "--test", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "--test", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "--test", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "--test", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "--test", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "--test", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "--test", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "--test", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "--test", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "--test", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "--test", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "--test", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "--test", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "--test", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "--test", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "--test", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "--test", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "--test", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "--test", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "--test", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "--test", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "--test", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "--test", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "--test", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "--test", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "--test", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "--test", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "--test", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "--test", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "--test", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "--test", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "--test", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "--test", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "--test", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "--test", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "--test", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "--test", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "--test", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "--test", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "--test", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "--test", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "--test", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "--test", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "--test", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "--test", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "--test", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "returncode": 0, + "outcome": "SURVIVED", + "reused_completed_baseline": true, + "receipt": "affected-baseline.json", + "receipt_sha256": "c8d550bf753f3cd311d14f6410d0db8d5a0981d6d3614523434a6d6dbc339ae3", + "log_sha256": "1a4efda4f55c265a0379dbb1bde26a25d41166ad8b59048887a8e58a28926fe7" + }, + "new_source_mutants": [ + { + "name": "restore-metadata-generic-numeral-swallowing", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 52, + "assertion_failures": 34, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_assertion_ids": [ + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations" + ], + "assertion_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 101, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 52, + "assertion_failures": 34, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\ntest_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok\ntest_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok\ntest_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok\ntest_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok\ntest_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok\ntest_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok\ntest_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok\ntest_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok\ntest_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok\ntest_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok\ntest_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok\ntest_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok\ntest_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok\ntest_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok\ntest_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok\ntest_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok\ntest_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok\ntest_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok\ntest_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok\ntest_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok\ntest_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok\ntest_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok\ntest_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok\ntest_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok\ntest_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok\ntest_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok\ntest_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok\ntest_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok\ntest_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok\ntest_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok\ntest_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok\ntest_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok\ntest_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok\ntest_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok\ntest_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok\ntest_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok\ntest_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok\ntest_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok\ntest_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok\ntest_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok\ntest_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok\ntest_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... \n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... \n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL\ntest_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'STATIC_PASS' != 'FAIL'\n- STATIC_PASS\n+ FAIL\n : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '836be322f0e4a318fa00f5d4af115fc0ebb91439ad8cf5a861cebe52fc0ca4ca', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]}\n\n======================================================================\nFAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'}\n\n======================================================================\nFAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [('0b10', 1, 9)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\nSecond list contains 2 additional elements.\nFirst extra element 1:\n('1.0E+1', 3, 20)\n\n- [('0b10', 1, 9)]\n+ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\n----------------------------------------------------------------------\nRan 52 tests in 0.062s\n\nFAILED (failures=34)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "invalid_population": [] + }, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "205f36d36ec9b171a9b4253bdeefa9b7bb15dcbb2fdc367ed395ac3aeb31502d", + "log": "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/normal/mutants/restore-metadata-generic-numeral-swallowing.log", + "log_sha256": "b80300c0128ac748a631f80f4ef7f34e2ef5e28914e1b0f4a2d9225c1ac15bca" + }, + { + "name": "discard-metadata-numeral-tokens", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 52, + "assertion_failures": 3, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_assertion_ids": [ + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 101, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 52, + "assertion_failures": 3, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\ntest_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok\ntest_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok\ntest_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok\ntest_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok\ntest_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok\ntest_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok\ntest_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok\ntest_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok\ntest_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok\ntest_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL\ntest_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok\ntest_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok\ntest_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok\ntest_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok\ntest_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok\ntest_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok\ntest_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok\ntest_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok\ntest_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok\ntest_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok\ntest_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok\ntest_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok\ntest_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok\ntest_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok\ntest_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok\ntest_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok\ntest_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok\ntest_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok\ntest_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok\ntest_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok\ntest_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok\ntest_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok\ntest_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok\ntest_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok\ntest_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok\ntest_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok\ntest_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok\ntest_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok\ntest_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok\ntest_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok\ntest_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok\ntest_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL\ntest_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... FAIL\n\n======================================================================\nFAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: [] is not true\n\n======================================================================\nFAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [('theorem', 3, 26)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\nFirst differing element 0:\n('theorem', 3, 26)\n('0b10', 1, 9)\n\nSecond list contains 2 additional elements.\nFirst extra element 1:\n('1.0E+1', 3, 20)\n\n- [('theorem', 3, 26)]\n+ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\n======================================================================\nFAIL: test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: ['='] != ['1 = 2']\n\nFirst differing element 0:\n'='\n'1 = 2'\n\n- ['=']\n+ ['1 = 2']\n\n----------------------------------------------------------------------\nRan 52 tests in 0.058s\n\nFAILED (failures=3)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "invalid_population": [] + }, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "8d6e08c9c42285e890dc6142ceb423c82ab0f3a346cc72dd60a9fb233940fecb", + "log": "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/normal/mutants/discard-metadata-numeral-tokens.log", + "log_sha256": "69365dfcad2c249353e4d770f0e7d40e0961ae3c7d915c2597ca95c1886d2ab1" + }, + { + "name": "overshoot-metadata-numeral-boundary", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 52, + "assertion_failures": 36, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_assertion_ids": [ + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 101, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [ + { + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 52, + "assertion_failures": 36, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\ntest_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok\ntest_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok\ntest_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok\ntest_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok\ntest_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok\ntest_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok\ntest_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok\ntest_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok\ntest_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok\ntest_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL\ntest_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok\ntest_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok\ntest_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok\ntest_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok\ntest_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok\ntest_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok\ntest_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok\ntest_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok\ntest_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok\ntest_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok\ntest_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok\ntest_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok\ntest_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok\ntest_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok\ntest_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok\ntest_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok\ntest_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok\ntest_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok\ntest_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok\ntest_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok\ntest_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok\ntest_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok\ntest_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok\ntest_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok\ntest_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok\ntest_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok\ntest_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok\ntest_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok\ntest_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok\ntest_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok\ntest_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok\ntest_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... \n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... \n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL\ntest_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... FAIL\n\n======================================================================\nFAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: [] is not true\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'STATIC_PASS' != 'FAIL'\n- STATIC_PASS\n+ FAIL\n : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f54655d53e091cb796b3e182f8474c9d1811f514618775553dcc303d95fa8c34', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]}\n\n======================================================================\nFAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'}\n\n======================================================================\nFAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [('0b10', 1, 9), ('1.0E+1', 3, 20)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\nSecond list contains 1 additional elements.\nFirst extra element 2:\n('theorem', 3, 26)\n\n- [('0b10', 1, 9), ('1.0E+1', 3, 20)]\n+ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n? ++++++++++++++++++++\n\n\n======================================================================\nFAIL: test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [] != ['1 = 2']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'1 = 2'\n\n- []\n+ ['1 = 2']\n\n----------------------------------------------------------------------\nRan 52 tests in 0.064s\n\nFAILED (failures=36)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "invalid_population": [] + }, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "1b33eb9f8ecd49587cb234003509edca22fda6d03fc60896528636cf8a0ad810", + "log": "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/normal/mutants/overshoot-metadata-numeral-boundary.log", + "log_sha256": "cf7838bb630202cd030edf178ec43a28111dc896e1d1f1664dade9696e04657c" + } + ], + "mutant_count": 3, + "declared_mutant_count": 60, + "claim": "affected Lean metadata methods and3new guards only; no full G0/Lean/project replay" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/child-optimization-probe.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/child-optimization-probe.json new file mode 100644 index 000000000..cafd90d87 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/child-optimization-probe.json @@ -0,0 +1,11 @@ +{ + "observed_sys_flags_optimize": 0, + "PYTHONOPTIMIZE": null, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-c", + "import sys; print(sys.flags.optimize)" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/discard-metadata-numeral-tokens.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/discard-metadata-numeral-tokens.log new file mode 100644 index 000000000..8073fed4b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/discard-metadata-numeral-tokens.log @@ -0,0 +1,102 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... FAIL + +====================================================================== +FAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: [] is not true + +====================================================================== +FAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [('theorem', 3, 26)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +First differing element 0: +('theorem', 3, 26) +('0b10', 1, 9) + +Second list contains 2 additional elements. +First extra element 1: +('1.0E+1', 3, 20) + +- [('theorem', 3, 26)] ++ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +====================================================================== +FAIL: test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: ['='] != ['1 = 2'] + +First differing element 0: +'=' +'1 = 2' + +- ['='] ++ ['1 = 2'] + +---------------------------------------------------------------------- +Ran 52 tests in 0.058s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/overshoot-metadata-numeral-boundary.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/overshoot-metadata-numeral-boundary.log new file mode 100644 index 000000000..1263c3460 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/overshoot-metadata-numeral-boundary.log @@ -0,0 +1,617 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... FAIL + +====================================================================== +FAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: [] is not true + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_jhf5ahl/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f54655d53e091cb796b3e182f8474c9d1811f514618775553dcc303d95fa8c34', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]} + +====================================================================== +FAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [('0b10', 1, 9), ('1.0E+1', 3, 20)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +Second list contains 1 additional elements. +First extra element 2: +('theorem', 3, 26) + +- [('0b10', 1, 9), ('1.0E+1', 3, 20)] ++ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] +? ++++++++++++++++++++ + + +====================================================================== +FAIL: test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [] != ['1 = 2'] + +Second list contains 1 additional elements. +First extra element 0: +'1 = 2' + +- [] ++ ['1 = 2'] + +---------------------------------------------------------------------- +Ran 52 tests in 0.064s + +FAILED (failures=36) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/restore-metadata-generic-numeral-swallowing.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/restore-metadata-generic-numeral-swallowing.log new file mode 100644 index 000000000..2a2776d12 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/normal/mutants/restore-metadata-generic-numeral-swallowing.log @@ -0,0 +1,590 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ct0f085/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '836be322f0e4a318fa00f5d4af115fc0ebb91439ad8cf5a861cebe52fc0ca4ca', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]} + +====================================================================== +FAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [('0b10', 1, 9)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +Second list contains 2 additional elements. +First extra element 1: +('1.0E+1', 3, 20) + +- [('0b10', 1, 9)] ++ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +---------------------------------------------------------------------- +Ran 52 tests in 0.062s + +FAILED (failures=34) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/affected-baseline.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/affected-baseline.json new file mode 100644 index 000000000..a93d6db29 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/affected-baseline.json @@ -0,0 +1,794 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 101, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 52, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\ntest_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok\ntest_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok\ntest_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok\ntest_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok\ntest_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok\ntest_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok\ntest_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok\ntest_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok\ntest_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok\ntest_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok\ntest_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok\ntest_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok\ntest_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok\ntest_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok\ntest_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok\ntest_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok\ntest_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok\ntest_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok\ntest_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok\ntest_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok\ntest_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok\ntest_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok\ntest_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok\ntest_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok\ntest_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok\ntest_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok\ntest_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok\ntest_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok\ntest_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok\ntest_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok\ntest_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok\ntest_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok\ntest_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok\ntest_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok\ntest_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok\ntest_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok\ntest_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok\ntest_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok\ntest_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok\ntest_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok\ntest_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok\ntest_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... ok\ntest_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok\n\n----------------------------------------------------------------------\nRan 52 tests in 0.140s\n\nOK\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/affected-baseline.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/affected-baseline.log new file mode 100644 index 000000000..86eaa45db --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/affected-baseline.log @@ -0,0 +1,57 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... ok +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok + +---------------------------------------------------------------------- +Ran 52 tests in 0.140s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/campaign.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/campaign.json new file mode 100644 index 000000000..2bf8a784c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/campaign.json @@ -0,0 +1,3394 @@ +{ + "mode": "optimized", + "started_utc": "2026-10-29T20:54:13.671363+00:00", + "ended_utc": "2026-10-29T20:54:15.704987+00:00", + "selected_methods": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "new_methods": [ + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "fresh_methods": 52, + "affected_predecessor_methods": 45, + "new_method_count": 7, + "bindings": { + "source_checks.py": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "e0cc3d77716e143dd374f2a23fc28923b8590e5dffed83e20733cd329553ddeb", + "tests/test_auditor.py": "eea839d76ca3510cb72ca9ebe3a1778c3a768d1e8ce7b0f7500f730a607a47a7", + "tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + "baseline": { + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-O", + "-B", + "-S", + "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests", + "--output", + "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/optimized/affected-baseline.json", + "--test", + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "--test", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "--test", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "--test", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "--test", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "--test", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "--test", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "--test", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "--test", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "--test", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "--test", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "--test", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "--test", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "--test", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "--test", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "--test", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "--test", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "--test", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "--test", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "--test", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "--test", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "--test", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "--test", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "--test", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "--test", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "--test", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "--test", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "--test", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "--test", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "--test", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "--test", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "--test", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "--test", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "--test", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "--test", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "--test", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "--test", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "--test", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "--test", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "--test", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "--test", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "--test", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "--test", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "--test", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "--test", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "--test", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "--test", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "--test", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "returncode": 0, + "outcome": "SURVIVED", + "reused_completed_baseline": true, + "receipt": "affected-baseline.json", + "receipt_sha256": "6621a3c6de1090cfb67617d86e564a69d24ba7d192b684904aec17e7ba73cc3e", + "log_sha256": "c9c290ea36aa293aa51739982ca0fff6448bc044ba1e0790c591a14371f8a26c" + }, + "new_source_mutants": [ + { + "name": "restore-metadata-generic-numeral-swallowing", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 52, + "assertion_failures": 34, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_assertion_ids": [ + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations" + ], + "assertion_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 101, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 52, + "assertion_failures": 34, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\ntest_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok\ntest_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok\ntest_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok\ntest_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok\ntest_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok\ntest_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok\ntest_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok\ntest_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok\ntest_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok\ntest_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok\ntest_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok\ntest_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok\ntest_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok\ntest_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok\ntest_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok\ntest_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok\ntest_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok\ntest_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok\ntest_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok\ntest_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok\ntest_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok\ntest_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok\ntest_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok\ntest_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok\ntest_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok\ntest_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok\ntest_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok\ntest_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok\ntest_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok\ntest_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok\ntest_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok\ntest_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok\ntest_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok\ntest_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok\ntest_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok\ntest_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok\ntest_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok\ntest_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok\ntest_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok\ntest_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok\ntest_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok\ntest_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... \n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... \n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL\ntest_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'STATIC_PASS' != 'FAIL'\n- STATIC_PASS\n+ FAIL\n : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '38fb5ee9156f03fb79a35280f2d9243a773b6cdece85981ea924434153392ca8', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]}\n\n======================================================================\nFAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'}\n\n======================================================================\nFAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [('0b10', 1, 9)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\nSecond list contains 2 additional elements.\nFirst extra element 1:\n('1.0E+1', 3, 20)\n\n- [('0b10', 1, 9)]\n+ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\n----------------------------------------------------------------------\nRan 52 tests in 0.147s\n\nFAILED (failures=34)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "invalid_population": [] + }, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "205f36d36ec9b171a9b4253bdeefa9b7bb15dcbb2fdc367ed395ac3aeb31502d", + "log": "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/optimized/mutants/restore-metadata-generic-numeral-swallowing.log", + "log_sha256": "e2a0378ac06e15a5ee2d6bbba247ea786ac6bfccdcabe33d97a8ca5289d931bd" + }, + { + "name": "discard-metadata-numeral-tokens", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 52, + "assertion_failures": 3, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_assertion_ids": [ + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 101, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 52, + "assertion_failures": 3, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\ntest_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok\ntest_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok\ntest_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok\ntest_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok\ntest_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok\ntest_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok\ntest_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok\ntest_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok\ntest_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok\ntest_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL\ntest_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok\ntest_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok\ntest_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok\ntest_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok\ntest_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok\ntest_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok\ntest_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok\ntest_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok\ntest_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok\ntest_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok\ntest_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok\ntest_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok\ntest_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok\ntest_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok\ntest_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok\ntest_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok\ntest_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok\ntest_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok\ntest_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok\ntest_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok\ntest_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok\ntest_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok\ntest_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok\ntest_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok\ntest_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok\ntest_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok\ntest_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok\ntest_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok\ntest_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok\ntest_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok\ntest_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok\ntest_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL\ntest_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... FAIL\n\n======================================================================\nFAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: [] is not true\n\n======================================================================\nFAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [('theorem', 3, 26)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\nFirst differing element 0:\n('theorem', 3, 26)\n('0b10', 1, 9)\n\nSecond list contains 2 additional elements.\nFirst extra element 1:\n('1.0E+1', 3, 20)\n\n- [('theorem', 3, 26)]\n+ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\n======================================================================\nFAIL: test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: ['='] != ['1 = 2']\n\nFirst differing element 0:\n'='\n'1 = 2'\n\n- ['=']\n+ ['1 = 2']\n\n----------------------------------------------------------------------\nRan 52 tests in 0.143s\n\nFAILED (failures=3)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "invalid_population": [] + }, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "8d6e08c9c42285e890dc6142ceb423c82ab0f3a346cc72dd60a9fb233940fecb", + "log": "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/optimized/mutants/discard-metadata-numeral-tokens.log", + "log_sha256": "21207ae8451303d4ef6cae513e26d9b1868bd0db27d5ee4fa81608ac485a1dd6" + }, + { + "name": "overshoot-metadata-numeral-boundary", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 52, + "assertion_failures": 36, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "body_assertion_ids": [ + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 101, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [ + { + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 52, + "assertion_failures": 36, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\ntest_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok\ntest_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok\ntest_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok\ntest_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok\ntest_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok\ntest_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok\ntest_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok\ntest_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok\ntest_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok\ntest_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL\ntest_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok\ntest_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok\ntest_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok\ntest_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok\ntest_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok\ntest_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok\ntest_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok\ntest_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok\ntest_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok\ntest_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok\ntest_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok\ntest_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok\ntest_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok\ntest_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok\ntest_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok\ntest_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok\ntest_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok\ntest_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok\ntest_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok\ntest_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok\ntest_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok\ntest_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok\ntest_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok\ntest_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok\ntest_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok\ntest_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok\ntest_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok\ntest_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok\ntest_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok\ntest_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok\ntest_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok\ntest_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... \n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... \n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL\ntest_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... FAIL\n\n======================================================================\nFAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: [] is not true\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'STATIC_PASS' != 'FAIL'\n- STATIC_PASS\n+ FAIL\n : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'da371e8a0e1071b02e5018ab82c8361be3f468faae22176442fcf4367cf7a011', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]}\n\n======================================================================\nFAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'}\n\n======================================================================\nFAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [('0b10', 1, 9), ('1.0E+1', 3, 20)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n\nSecond list contains 1 additional elements.\nFirst extra element 2:\n('theorem', 3, 26)\n\n- [('0b10', 1, 9), ('1.0E+1', 3, 20)]\n+ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]\n? ++++++++++++++++++++\n\n\n======================================================================\nFAIL: test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [] != ['1 = 2']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'1 = 2'\n\n- []\n+ ['1 = 2']\n\n----------------------------------------------------------------------\nRan 52 tests in 0.146s\n\nFAILED (failures=36)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions" + ], + "invalid_population": [] + }, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "1b33eb9f8ecd49587cb234003509edca22fda6d03fc60896528636cf8a0ad810", + "log": "/workspace/cbz-0/delivery/declaration-numeric-fix/evidence/optimized/mutants/overshoot-metadata-numeral-boundary.log", + "log_sha256": "92bfd97c9e487465707cc1d2d4955acc54cbd3471dd27b8a97153db0a11a94c1" + } + ], + "mutant_count": 3, + "declared_mutant_count": 60, + "claim": "affected Lean metadata methods and3new guards only; no full G0/Lean/project replay" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/child-optimization-probe.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/child-optimization-probe.json new file mode 100644 index 000000000..4b5d5320f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/child-optimization-probe.json @@ -0,0 +1,11 @@ +{ + "observed_sys_flags_optimize": 1, + "PYTHONOPTIMIZE": "1", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-c", + "import sys; print(sys.flags.optimize)" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/discard-metadata-numeral-tokens.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/discard-metadata-numeral-tokens.log new file mode 100644 index 000000000..9e391d05e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/discard-metadata-numeral-tokens.log @@ -0,0 +1,102 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... ok +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... ok +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... ok +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... ok +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... FAIL + +====================================================================== +FAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: [] is not true + +====================================================================== +FAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [('theorem', 3, 26)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +First differing element 0: +('theorem', 3, 26) +('0b10', 1, 9) + +Second list contains 2 additional elements. +First extra element 1: +('1.0E+1', 3, 20) + +- [('theorem', 3, 26)] ++ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +====================================================================== +FAIL: test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: ['='] != ['1 = 2'] + +First differing element 0: +'=' +'1 = 2' + +- ['='] ++ ['1 = 2'] + +---------------------------------------------------------------------- +Ran 52 tests in 0.143s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/overshoot-metadata-numeral-boundary.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/overshoot-metadata-numeral-boundary.log new file mode 100644 index 000000000..94993c177 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/overshoot-metadata-numeral-boundary.log @@ -0,0 +1,617 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... FAIL + +====================================================================== +FAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: [] is not true + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vqpxlvue/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'da371e8a0e1071b02e5018ab82c8361be3f468faae22176442fcf4367cf7a011', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]} + +====================================================================== +FAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [('0b10', 1, 9), ('1.0E+1', 3, 20)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +Second list contains 1 additional elements. +First extra element 2: +('theorem', 3, 26) + +- [('0b10', 1, 9), ('1.0E+1', 3, 20)] ++ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] +? ++++++++++++++++++++ + + +====================================================================== +FAIL: test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [] != ['1 = 2'] + +Second list contains 1 additional elements. +First extra element 0: +'1 = 2' + +- [] ++ ['1 = 2'] + +---------------------------------------------------------------------- +Ran 52 tests in 0.146s + +FAILED (failures=36) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/restore-metadata-generic-numeral-swallowing.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/restore-metadata-generic-numeral-swallowing.log new file mode 100644 index 000000000..87d50acbb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/optimized/mutants/restore-metadata-generic-numeral-swallowing.log @@ -0,0 +1,590 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wcf9x8si/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '38fb5ee9156f03fb79a35280f2d9243a773b6cdece85981ea924434153392ca8', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]} + +====================================================================== +FAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [('0b10', 1, 9)] != [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +Second list contains 2 additional elements. +First extra element 1: +('1.0E+1', 3, 20) + +- [('0b10', 1, 9)] ++ [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)] + +---------------------------------------------------------------------- +Ran 52 tests in 0.147s + +FAILED (failures=34) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.json new file mode 100644 index 000000000..0015aa472 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.json @@ -0,0 +1,53 @@ +{ + "actual_repository_G1": "NOT_RUN", + "all_lazy_profile_generation_guard_mode_executions": 16, + "current_composed_receipt": "evidence/lazy-body-profile/current-composed-admission.json", + "current_method_inventory": 87, + "current_mutation_definitions": 57, + "current_repair_checker_mutant_executions": 0, + "current_tool_admission": "Composed finite source-bound evidence; lazy-body changed-hunk independent review clear", + "fresh_current_repair_methods_per_mode": { + "normal": 4, + "optimized": 4 + }, + "fresh_final_none_profile_grader_guard_mode_executions": 6, + "fresh_final_none_profile_grader_guard_mutations": 3, + "guard_counts_are_distinct_production_mutants": false, + "independent_review": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "independent_review_sha256": "8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933", + "initial_lazy_type_generation_guard_mode_executions": 10, + "method_inventory_parts": { + "auditor": 72, + "new_lazy_body_profile": 4, + "retained_harness": 11 + }, + "new_Lean_compiler_runs": 0, + "new_full_G0_suite_or_CI_run": false, + "new_mathematical_checks": 0, + "packaging_execution_verification_runs": 0, + "policy": "ordinary synchronous selected methods, every wraps-linked layer; exactly None normal return; no returned-object advancement", + "predecessor_evidence": { + "actual_repository_G1": "NOT_RUN", + "current_composed_receipt": "evidence/composed-admission.json", + "current_lexer_component_receipt": "evidence/lexer698-admission.json", + "current_method_inventory": 83, + "current_mutation_definitions": 57, + "current_tool_admission": "Composed finite scoped evidence; current lexer and lifecycle source reviews clear for their stated scopes", + "fresh_distinct_methods": 56, + "fresh_existing_harness_methods_per_mode": 3, + "fresh_mutants_per_mode": 19, + "fresh_new_lifecycle_methods_per_mode": 8, + "fresh_tests_per_mode": 45, + "historical_build_report": "evidence/pre-canonical698-publication/BUILD_REPORT.json", + "lexer_component_status": "PASS_AFFECTED_SCOPE", + "new_Lean_compiler_runs": 0, + "reused_historical_mutants": 38, + "reused_unchanged_auditor_methods": 27, + "schema_version": 1 + }, + "predecessor_metadata": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json", + "reused_predecessor_methods": 83, + "reused_unchanged_initial_lazy_profile_guard_mode_executions": 6, + "reused_unchanged_initial_lazy_profile_guard_themes": 3, + "schema_version": 2 +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.md new file mode 100644 index 000000000..3aaa805c0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.md @@ -0,0 +1,13 @@ +# Layer A composed build report — lazy-body successor + +Current composed inventory is 87 methods: 72 auditor methods, 11 retained harness methods and 4 new lazy-body profile methods. Only the 4 new methods were freshly exercised for this successor, normally and optimized; completed applicable evidence for the 83 predecessor methods is reused. The 57 checker mutation definitions are unchanged and retain their version-bound 19 affected plus 38 historical evidence. No fresh whole-87-method suite, 57-mutant G0, CI, Lean or mathematical run is claimed. + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +The final repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +Current composition: `evidence/lazy-body-profile/current-composed-admission.json`. New evidence under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +No fresh whole-suite/G0/CI/build result is created by this package. The underlying auditor, source checks, canonical lexer, 72 behavioral methods and 57 checker mutation definitions are unchanged. Old lifecycle controls and body-trace receipts remain reusable under the static ordinary-None-return shape applicability assessment. Actual repository G1 remains NOT_RUN; final admission is root-owned. diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/EVIDENCE_PATH_MAP.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/EVIDENCE_PATH_MAP.json new file mode 100644 index 000000000..d24de6bd3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/EVIDENCE_PATH_MAP.json @@ -0,0 +1,2943 @@ +{ + "current_composed_admission": { + "historical_grader_source": "evidence/pre-lifecycle-grader-source/mutation_test.py", + "lexer_receipt": "evidence/lexer698-admission.json", + "raw_receipts_unchanged": true, + "receipt": "evidence/composed-admission.json", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + }, + "execution_root": "/workspace/cbz-0/tools/layer_a", + "first_admission_repair_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/baseline.log", + "sha256": "035ee585bef84ad7694aa2eaadbd34cbb69e85a4f5dd56671a1ced85863fc7a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "sha256": "8fcf3b72380422db6b5dbc24114c708bba98ed5bb3b2f40c173f57f9b0bfaa3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "f699bd44c76d815cb331b1c67ff92fbdde95b741ba2338e7d952f2ec8c936982" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "sha256": "b02d37e8eb009e184ad2398d9dea0c0dbd84a7fb512d388cbf51b6f8c4578c28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "sha256": "5defe8453000b8075532997bdf321ecc97c4871fea2187ff9523779441248204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "sha256": "c44b8ff36fcf9feb5a4ad3aac21159291f9f33544d9587debc012a3daec8f674" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "a22a6ce8de8ff9ac0ffe2781555a56dad3635a1c8e9852d4f2469e3fc49ae773" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "37cb0baa00a05d3c8524bdb4499362b94fb9ac48e846d1cebbe249d3fae99d68" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "b93b1774c9399a062cf572fbe1bf8bb0e0e9a2df3d4629cd7a590d3587df7a7a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "68a620c649a7a5acf9589261cc8ff48bc3e73b67fe38c1a55bfb4d055c40f85b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "ed9b92ebbf11c7350cb5b4ac83a5d3f0bf3db1e4a8c2dd11c9e0279ca67a4743" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "sha256": "71f5eb78d9fff4be2bdc93d39db51e6bd9cc15ae7ad8cefb39d3ed5d914915b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "sha256": "4762ffe147d97bbda08d62aa931579f2d6417463b9fc6d5e06ecc39fcdeeb922" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "sha256": "ac0ab8b47cc6a1304f497972aba1671a8242adb132c3b34e6b91335af47e5c57" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "sha256": "4bbeea25373dece5b4d3acb87b2ca36516b921e9aa2147994e3c2c6ed06c96c0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "a9d0ffbdfa02fca8578b54427dd75fd94a88b013e94f31897c05797d9f627067" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "sha256": "e4d053e0c5e83d1a7ef4767825aecd97b9970b45ac43f89648ad14250cba84ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "sha256": "8a70910a54a4b99065070d00fae2a54759d31ad6c66b5037040bb1721550c56e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "sha256": "39b1b0e85321a969241316d9b44536461aeac1d4a7f8137882dbd26eceff1529" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "d1eaad42ab14edc5c389fdc23e6ed5be0487073c618b30aea97ee583203a5de2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "7cea846d09e9b5e3a108078b68c21d9bf99f6ff1d3f2a5b3a3d6f2ad1030e22f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "7bd49a32a49acf331192602ecb1bc6adad00d5781446b3e1abcba4130ca99e1d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "861755677918792b728691652430fc3882c5fa34f4e4e172038036f6799ef36f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "fe104794710a9fcc988ec00fd30cc2f0f673fec9f22096cbde41cd3bf82e0960" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "sha256": "c09ce61ced302a636076f019ec0820a0972948c9de56dae191dec7752b36b318" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "sha256": "d7a9b9db84d49725076312dda126f764663560b93d22d4fba450f0a5beb2dcaa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "sha256": "6a1648bad6a0fc958e611409335155e36f5fe755936aa5b1dd20b656511b3aa9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "sha256": "40b6d507b9249f404ee75226b35b504145dffc24c12f0eed0b198d6a2bd8dbb2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "sha256": "aa95a4514c4bc4d3174f8401b4ec749c1ff73e3de3cd77175f76af49b3f47c83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "sha256": "cb8b7c6e0250eef1abef6ac482caebb347501e7630469ebf5bcefe4689de6a77" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "sha256": "5288f1404f514632ece6db189a89c11f47b8923a632c89a8b2a7018c77cafb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "sha256": "157c43b9aba1c3467a6bd5860f28164ddc77ba029cb35121cdaa7cf0497ab44b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "1c789fe8b4a13549591f71cb087b9f7b9283001b80494edc6ac0c3e86a764f8a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "0a8e0c5cdafff4d949cd0dff33a1443f5e8b119406d81b045be591fa07d0d872" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "bbeeb6f474de7076efea92580432fd8c487cb6073fef42cb0c426ab7e5bb4500" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "sha256": "b8d8aa0c1d73aa157b9531dd820b6199d74e332dc598c709911767192c7abe15" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "sha256": "b19d8ae22eb35e50ac83d99534281453b209f0d8822fb1875318b5ee1b11fe5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "aefeb71cc2b4d1dc174bc033f2e98f16a23c1170ce95ccaba6df99094842a8f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "2e0a19abb5fd46ca0926eed2b1d558f816cc999f89ecf0a70906f32f56f11964" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "4eb19695c95a7b8b26ea9ab56b71687ffea97cd046534e27394dba21eaa51d71" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "2411d93838c00ee16f3f3b9458d36a1b203911a57e38784e855b669d080e6b11" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "7ecb303944dd9ebb226f2e492540f04969f595bd0bf678ab1eb6e2733eef5b9e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "42e30f674a6a0d4749ed93ffa21338848245cf7a289f2978a64dd5d08ceaf1ec" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "sha256": "b774c68691c606ca5b75e699055173eccf250fd1f314a22fb1a3cfe94e356cee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "sha256": "19f7934efc959b9d4cf3c9becd537c3a8789f129263e04d3645a643de9800542" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "sha256": "a44a0619efff83a4c27d539f707b940fd5fe3f32df15fd42ab9fdff4c48428c9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "ca0d569d629a4875d91dd6088440e804cbca9899027bc793d3c63f144faf5665" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f7bcb92174ec5093451ae2cc035a2f3da96f5b90aae938613701ffbe850c9df0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "sha256": "7da893fd6a392a8e9ff02db6f5eb34237dfad9ec6389b9a2f54c90a3344c0da9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "09044c473fa4937a26756325814c8b4adeb52f5d48359423983008d83a4398fa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "64e38a3a7c5ad7215a418da61cac96c666ebad04403c332327f20a5e3e847a69" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "sha256": "e658a77937a5c9e1921470bb7563caaa342294cd565d328b6a5e90d6db18abd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "sha256": "175c08d799121faabea62c0bb17adb40e426c984a631598a1e40ce3c0b438140" + } + ], + "receipt": "evidence/g0-admission-fix.json", + "receipt_sha256": "ffecf817f294d24ca1f80f21461e1023b6a19af67198f3def876205b886c6295", + "source_generation": "evidence/pre-import-literal-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", + "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_G0_027": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/baseline.log", + "sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5" + } + ], + "receipt": "evidence/g0-admission-final.json", + "receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "source_generation": "current contribution files", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", + "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_custody_limit": "Early development reused some baseline/per-mutant filenames. Exact original failed aggregate/stdout/survivor are retained; later receipt-specific final logs and all named source snapshots remain separate.", + "lazy_body_profile_successor": { + "baseline_metadata_archive_origins": [ + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json", + "source_git_blob": "7b62898cb1a90b5a48e9d3144dd82eb4513ea1e3", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.json", + "source_sha256": "c6456ba43f2e387d8389c4d4ee9dcb800535fa5476159a61bb23b17498c1d6b4" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.md", + "source_git_blob": "fd7355016bea5575b674ec9500eb4b308e7e122f", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.md", + "source_sha256": "bea59d45143b447c9ce7cd055fe9cc812e28e2deec3e38a9d488f46eb0e75629" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/EVIDENCE_PATH_MAP.json", + "source_git_blob": "fbcc64795d1e438225d08413e050711df2e4934c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/EVIDENCE_PATH_MAP.json", + "source_sha256": "2388d4245c4a90baa7200d1488ce2354401dca9c1b4e8f55ebcf0c964dc3bb31" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/PUBLICATION.md", + "source_git_blob": "598783b9406f658001326d4ee7ff638b5b43fb2c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/PUBLICATION.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/PUBLICATION.md", + "source_sha256": "8357b3a08d635cef8436874a2e6ea8372ffc4afe1d3af35c267f0e8137143fa4" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/README.md", + "source_git_blob": "72af659f6fb0e607b794ddfc211c2808fac9be63", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/README.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/README.md", + "source_sha256": "ccd3fe778ab5382ca91080ac715f8b184ea67dd3d6277021dca08b0caf4c5b63" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/SPEC.md", + "source_git_blob": "2004b85a1a40a7b40d869faac4a69b8a52276f98", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/SPEC.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/SPEC.md", + "source_sha256": "efce0799e3608c889b1f6d2d34b48001554f99ed4561f75eaafbbe897ce2c061" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/TOOLING_REGISTRY.md", + "source_git_blob": "b86157c7bf98c1b6e0e5429a16d7274d92b6e59b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/TOOLING_REGISTRY.md", + "source_sha256": "df8a855486a25283ea376a545a660cb5d203ab65902f113e24c356f06d325ea4" + } + ], + "current_composed_receipt": "evidence/lazy-body-profile/current-composed-admission.json", + "current_composed_receipt_sha256": "ac4930ab275111ed859dad8ad56a6ef754ad3872b1e1276ee7b0463f225da0af", + "derived_publication_metadata_origins": [ + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "7b62898cb1a90b5a48e9d3144dd82eb4513ea1e3", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.json", + "source_sha256": "c6456ba43f2e387d8389c4d4ee9dcb800535fa5476159a61bb23b17498c1d6b4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "BUILD_REPORT.json" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "fd7355016bea5575b674ec9500eb4b308e7e122f", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.md", + "source_sha256": "bea59d45143b447c9ce7cd055fe9cc812e28e2deec3e38a9d488f46eb0e75629" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "BUILD_REPORT.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "fbcc64795d1e438225d08413e050711df2e4934c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/EVIDENCE_PATH_MAP.json", + "source_sha256": "2388d4245c4a90baa7200d1488ce2354401dca9c1b4e8f55ebcf0c964dc3bb31" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "EVIDENCE_PATH_MAP.json", + "self_hash_binding": "External complete FILES.json binds this map without a self-reference." + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "598783b9406f658001326d4ee7ff638b5b43fb2c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/PUBLICATION.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/PUBLICATION.md", + "source_sha256": "8357b3a08d635cef8436874a2e6ea8372ffc4afe1d3af35c267f0e8137143fa4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "PUBLICATION.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "72af659f6fb0e607b794ddfc211c2808fac9be63", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/README.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/README.md", + "source_sha256": "ccd3fe778ab5382ca91080ac715f8b184ea67dd3d6277021dca08b0caf4c5b63" + }, + { + "path": "evidence/lazy-body-profile/current-composed-admission.json", + "role": "new scoped composition; no new full-run result" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "README.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "2004b85a1a40a7b40d869faac4a69b8a52276f98", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/SPEC.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/SPEC.md", + "source_sha256": "efce0799e3608c889b1f6d2d34b48001554f99ed4561f75eaafbbe897ce2c061" + }, + { + "path": "evidence/lazy-body-profile/current-composed-admission.json", + "role": "new scoped composition; no new full-run result" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "SPEC.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "b86157c7bf98c1b6e0e5429a16d7274d92b6e59b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/TOOLING_REGISTRY.md", + "source_sha256": "df8a855486a25283ea376a545a660cb5d203ab65902f113e24c356f06d325ea4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "TOOLING_REGISTRY.md" + }, + { + "inputs": [ + { + "source": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen-manifest.json" + }, + { + "source": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/independent-lazy-body-review.json" + }, + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "00a333b860b63a00f5f4bbfe92e4742e83730e0b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/evidence/composed-admission.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/evidence/composed-admission.json", + "source_sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "evidence/lazy-body-profile/current-composed-admission.json" + } + ], + "exact_copy_entries": [ + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/REPORT.md", + "relative_publication_path": "evidence/lazy-body-profile/REPORT.md", + "sha256": "455ff41c5053a43fc14028babf1dcb954c30e4f4b1edd65938e2617dfbcb448b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/SHA256.json", + "relative_publication_path": "evidence/lazy-body-profile/SHA256.json", + "sha256": "813f4ae7353b953bab6eacdbfc550449b0b8371aa92ef082874a6584d64b350a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/evidence-index.json", + "relative_publication_path": "evidence/lazy-body-profile/evidence-index.json", + "sha256": "54f031e3e78eb99db76a4bb52993e74d528817ac0a2bde32e714d8180da6a66e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen-manifest.json", + "relative_publication_path": "evidence/lazy-body-profile/frozen-manifest.json", + "sha256": "ab20f9cffe26dee07210df2cefd03bce18188cc32879486cf2c9bd9775742735" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/mutation_test.py", + "relative_publication_path": "evidence/lazy-body-profile/frozen/mutation_test.py", + "sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lazy-body-profile/frozen/tests/test_mutation_runner.py", + "sha256": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json", + "sha256": "546a0487b817320cff8a25133b5ee00852a7c5ab4c2cbbaf4732420797fd73d2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json", + "sha256": "1a9c49e8a6d6cdd6e5646c9a57611303c40dc46d72afbac6554329dc7b26cbf2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "sha256": "45847f4a4001ced04cf789501e107e0a5fa96e5d83be8f35317c7298ee11fb7a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json", + "sha256": "d96e11963dc875e2ff8904bda1f204efd2eda75076d99e7e96fcab4c48e6609d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json", + "sha256": "10ee868a3a1ce9ce55af82d43fcc4d96c0e1c4207bd0974593a876d821627054" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json", + "sha256": "49680bf10b970366faad6c2a54f887d74d4037c0a2b6dcd88b8e98d4b962427b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json", + "sha256": "0789f0d376f08f6ccc7ece63a6f96addd287e083eaf32bf9cccdbd8f3e32615a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json", + "sha256": "793b6c856f0ad638cd2ff94cdbc62271082f0151381c5f396beb1026a052fdcc" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json", + "sha256": "e2d19461f0f6e62989af51d4372788953ab4d592d0999369f61b9595f7a2006e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "sha256": "31cc693cb9e4fbf80bf7221acdde18badd4260e1a5d142eba74f5b1d523d5cd7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json", + "sha256": "bf77ca2c29670567889cc782c5ca9f9fe337c273e346e758380b7fc1d7d01047" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-false.json", + "sha256": "5175d675e72360866f0b9e213e2b609be700ccc4f137244af20a9579ab9ab677" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json", + "sha256": "81867e3c01aa4a019bce93e151bf7e9cc47cd6cecc04ee34f37de9903421cc5b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json", + "sha256": "68996708e7d3406d4dbcf84c3ece9a12f2b97076232ffb5142397859ddee00b9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json", + "sha256": "a9bbdcc3798dd64caf37157be379d25acc9d5a3cd9793e04f8b1f99f9837d895" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json", + "sha256": "a91be2e837d85a775429ba28d02df3e76dcc42d5440d3c713f8f0460804c6c37" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "sha256": "2e455ff69fdd3853059ae3edff08f3e263ee81267d1fdcb856ef627e5e05f6f7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json", + "sha256": "b742457d9a1f0c6ef23cfdfada3727e56c7807903488806327d5d0b1d37a5e6c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json", + "sha256": "d9287bddd0970ba4b9798eb39a41076e6faec9b0097955a9ba61c4638b8c1352" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json", + "sha256": "4f2655314c829566c904f84ea54a1ab02d1781473bbae0bf388eedabc986a0cb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json", + "sha256": "6f4215bf662424e2babe77eda5b5d098afb508ad16bb35461f8864260b7884b6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json", + "sha256": "2610f92083254af3702c77027744df50c4356fb0f545a092389094b5307dcf55" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json", + "sha256": "b515c26385d560098d6fc9de66b9f37422457f6df6eec542d75a0902019674a8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "sha256": "49f1c1b4253966d0b154b180b2e0bbe215ee5e47aaa523dfa5af1049d32dcfd5" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json", + "sha256": "f18573ad508dd892b347e78ad17752cd25e1ee3549d737bec5228a698deb9aed" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json", + "sha256": "eea7d35092dc3f57deec300fe0a7e69b89c0d03e5fe6f8fe4b6ab10be5f9347f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json", + "sha256": "dbe6338cbf3a72737f2692e995ab15801abb9ea5b27f642621b10ee533bd6140" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json", + "sha256": "a9ac153790a7ca3de0ee10cd9b82d5ebf874e0c85b3c85eeffec3864b849c51d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json", + "sha256": "7071407442ade42001a96700df46ffdd3e4ccf89b8839f241ad25c3e684e40af" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json", + "sha256": "e88f2754afabd0709b2d5849485e4041221a3991bccd5cf717c7669f62f66365" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "sha256": "8b2d18cddeae3b978a75c1237c3e6db7de6ea2a0a80333ac5cf107031d788180" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json", + "sha256": "a4eb5eb2e12d97aac180844ffef572671e9f69dc951dc8edc65ff65cba1758d8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json", + "sha256": "5c0e6cf470f852d0a1d063b5c1d9706523bfabeb86f017f3de05367c4a5fe2f3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json", + "sha256": "d36244bc7b02af2414656a22641e9c3143cdfa260bcfb886206f41ae7fbc2dbd" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json", + "sha256": "fef668883385084778005cc9a80145eb560bae184c17d9696a87837a854f9948" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json", + "sha256": "1e7bac7dda4704cf38b4ccd813c03eadd551ec71c5dad27ceb68a78f1a54e7a9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json", + "sha256": "caacde0586c9f66c72398210da982cffcf4b643f25f9cd913a539d0eac4b8ab1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "sha256": "eb2b41e9c5c1bf4407787bbe583cf7557cf6d1d277eaeecb0061731356a4d935" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json", + "sha256": "3093c4ecf8019ce58b98bd649b569e1fde0a10956fede08ebaeaa8719657dd26" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json", + "sha256": "7c22fdf23cbbdf616b7ca67e1ff3afa1ec0a8c34881a1d6f6d1b79846cc190d3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json", + "sha256": "bf9302c233cf02fbb7c4b64b12bdeca1fded6a42b90a30a4c66f93b53c6598ea" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json", + "sha256": "94349d53f897e0153fdc5434ec7ad510ff95868cb7f22e3bbaf71feaef40abb4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/layer-a-lazy-body.patch", + "relative_publication_path": "evidence/lazy-body-profile/layer-a-lazy-body.patch", + "sha256": "74c45e0f03610cc52f5a11bf46e141456b16209eb5e70696c274f507ce519f57" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json", + "sha256": "5782bffb030c2547c28cbcbea5af75bc3b4b049ba9245dc3bce78c9553a4ef19" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json", + "sha256": "db92a07efac7c5835fd0217cb6b3e801e3525791278c8c05f2559a0298d358de" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json", + "sha256": "c2c4dae7adf7428defe36e546bf2c191d198472a7486ddd0f632a5a7add64df2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json", + "sha256": "109cf855dbf3cb0a112ec5e84ef6e8fc38b340cd42218fc495e269d6b0bcf95e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json", + "sha256": "4119f662f38163dab2281b09b4870fc33a3970a999ce1de2f5a4b805e3f68547" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json", + "sha256": "cae461c8c221abac82cf8dfa5f1ca60c698ab826cdfbd84bdf44b9c4e8972707" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json", + "sha256": "bd564c7cb8db830db209ac68cc465590b3e95ccdaeaf9fdfd78567fa423c23c8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json", + "sha256": "aeb0d29f91c6f9baffb53def30467609199a009bf43f004545c2e6fdf56a24fe" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json", + "sha256": "7bd87726c3f00bcf1675747093f25754a54133aeba7bd570ba3e0a4c31d4a4e7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json", + "sha256": "3d324ccda4b8290b4231cc3cdc0c99a0eb396583c2a4019d17e8c28b07283d74" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "sha256": "e68cd6a0bcd718145e7cca2d82006e53d5ef19068b48efcf2979d9cfe615d646" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json", + "sha256": "9b0b25325310aea727ca8487c7a02bcbe35f54c251dc2203b7ffcc1792bfb717" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json", + "sha256": "459f307329fe4c5d685006ea438e0910023597174fae58d7d48e1d62ee114de1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json", + "sha256": "1a1221a7f8a1be3c6c42855f949720762321fa4a7052a4ff3cc6d9f9482cbf16" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json", + "sha256": "bf62558a75f1ed3927f6a9309ba785a60a396c165b297dde565cafebdc38b0c7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json", + "sha256": "5a4ed48af34668a150cbbaabdbed807212a1db137c0f420507c2c5bb81a4f2c1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json", + "sha256": "56e55fbf9f4f8b0e1af3817390fc7aa08a8491da2f26cb0f50116393be79e65f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json", + "sha256": "4987d3caeb119b1f9bc108c826ddb9ff8ac89dcb9f2a13850087f6d08fc85901" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "sha256": "97fb49ab186bd6dcb9e5efa08dfb5acd335b5bf7fab15b9d70fe649a7b364e86" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json", + "sha256": "a5cbef941c2010e9209307ead48bebfbc13546b9149e9b60aca0e97477e30bfe" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json", + "sha256": "baefb71d5c8d1358ab57a458212d5434c4376b02b54c8e64dc9fae57c9316f89" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json", + "sha256": "66b14b689cdc86cd5b6f8755cc09983d1b3bf30a6a411be3387f6dc505796b7a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json", + "sha256": "6a9bdf9451c0e68887d373c22aeebb2a48a0bc708c1ca49bc272d45df63a5891" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json", + "sha256": "0689128454c38d6887d3f16044519b0db62b79279035f63bf4265ba050d6af65" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json", + "sha256": "ad79c076eb904ce3f4e09d654d6e0f6d9fa29a7986a927c543073196f9bc4647" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json", + "sha256": "69418b9a562b3580fd2c391116e5943cf2c879d4a4fc17d03d155be16126cbe3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json", + "sha256": "0b0f08fb3f49dff0ee1ccc5ea9bd333e731e1c46dc800ff3bdbd31392da44d4e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json", + "sha256": "c276402372cfd3b23f38c0d04cdedaa83887b40791b416675fb009d5739c1fb0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json", + "sha256": "00375b3018dbb38ed995e0cdf1292d88f0b495624c06643e188b06e99e14ad39" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "sha256": "945f7f31a14926921aa730951d2592d3bf6fcb6ff8698efab0d183c9d09fd9f8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json", + "sha256": "2bce417c754d5d1c4e8faac6d117e54471a318900fed74d3afe1233816fbaf43" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json", + "sha256": "1cd60a7e04e15a048e4d6442f5717a97b4a8a52559d589f2cc03ec4ecf47f44a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json", + "sha256": "56761ec13c26959f4e1f4687c4c7c5b466875d1c61ee40234553bf2a56fbe265" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json", + "sha256": "b7e863c69fe7f239e622ad2df4c88c54e770da3be597f0d4f40dc9b22163e161" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json", + "sha256": "9af887cff27efe939bb6259ab2f94a8ac2f386ff36deb7f10bb990ed5642d41a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json", + "sha256": "34112cfbaa4f193e895e3ff8282c9adcbdbbf73ee4db1deb82d40ff2458033d4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json", + "sha256": "ab76848c7281e5e1cb9dbd0adbc8bc6bc019899c92e1564db11daa37c805a64d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "sha256": "6fb59b3869ecb457182a695c1f92bbf7ee0fc49146b1a2a7fb126e3fae6f2d45" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/new-guard-source-controls.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/new-guard-source-controls.json", + "sha256": "238b21383ac2e67c70177e99f722e6514c673b19c92b966cdb915733a03ff6cf" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-accept-custom-awaitable-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-accept-custom-awaitable-returns.log", + "sha256": "f98a58d94ea390a8c59d0154b6537d0caa22afb3c199f639fc0408677e826be2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-accept-lazy-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-accept-lazy-return-objects.log", + "sha256": "096fcb129d15d6538af4ccebcd964e0967f85ff4462e95156a92167bd3a69cd4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-advance-coroutine-instead-of-close.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-advance-coroutine-instead-of-close.log", + "sha256": "d3b61f30797121ada03de3d9c516f8612f1da70302863aad4eea4eace1f64798" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log", + "sha256": "1af2ad87f3ebf353950cd468af5e4c686228d616c3c58ae91b34cba55d7c4dad" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-async-generator.json", + "sha256": "f355eab504fa7e9a90de1f6b4de1c41c1497f3478d52b2c02b5d3bcb6ffeea3a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-coroutine.json", + "sha256": "8e39b10b04e86d8a6a4179a8982b47ea869a5b7dfd34d4c179a0b38f626ae4ca" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-generator.json", + "sha256": "9e4c665b333c4e10143053dceb7b15a881400e2a956c0d693a2760961b3b720a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-pass.json", + "sha256": "f4a5cd3eeadafc96fe72f3a93f118d44ad1d8b0931c9686fde2589877f323517" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json", + "sha256": "1baff3e4f75430c91775f50859a6083de2b0ebc8c4c3be347eb91a6b7494fde2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-async-generator.json", + "sha256": "73716271ef8fc91aa4b960548f8ddaad6f889e1e4479d8805f0f6d60812d84d6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-coroutine.json", + "sha256": "95955d5978be4ae58fa2cc6728cf3c46afff5b9a1611947b2e991628fa9409e1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-custom-awaitable.json", + "sha256": "ed0f0985ca9d14428adcea6f6e86fb2704b6e3708fe0e351c87de4841d4fddfd" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-generator.json", + "sha256": "b9bb90803b9ec5ac074e4bbe69f049eed5e6d5a3406f60b32f0e0cd66b818399" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-async-generator.json", + "sha256": "f53a2aa84fa9d75dae5845058882060f0c90b17700a6aeaefe59627f91b5e894" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-coroutine.json", + "sha256": "9b7894d1a022b4e2ae2dc9bab58d2f1d6c6a9c3c2baa39685c9035200007ff31" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-generator.json", + "sha256": "db55656e367fd2c59adb60d17fd0f20bb7ab7df9d545e6438cfc58252e1c7a15" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json", + "sha256": "04e20b319fbeb47089411c21157662d8c27d75a10bf37e1fe26a59ec1c2d005c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-ignore-middle-wraps-layers.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-ignore-middle-wraps-layers.log", + "sha256": "407f235bb0052146a12670b95a4ab78936ca5fa8e2b2bde5e62075480f180709" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-lazy-controls.log", + "sha256": "3f74abeb9efd8d2a6b52352b04bd1de7ca472db4d801c143c82763fafc62f250" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-middle-decorator-control.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-middle-decorator-control.log", + "sha256": "c5b7865767c2d5ff0308b06c1dedad9678a3454f23cdb2c0ebee54784388f872" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-accept-custom-awaitable-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-accept-custom-awaitable-returns.log", + "sha256": "1f8098bd02513f56f5d6b35448ff5dbc2e3d756762c8159ae77acfa739a84253" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-accept-lazy-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-accept-lazy-return-objects.log", + "sha256": "2d132c375f2e255cd69480a46dfc99fde81f14162353e63f9a020bd05fd6d118" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log", + "sha256": "91136f9a8c4166c13d9f3ca1909cb2c580028bfe8f55aaaa830b5b0683d544f3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log", + "sha256": "ad28cdd8b06e6a43298004bb5a4afc3fccff128c3de14eea869ddcc67ab228e7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-async-generator.json", + "sha256": "13a7a7fb21967fec1747247704250250bbe65eefbe416c8af1fe9421a165a4ec" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-coroutine.json", + "sha256": "43fd1b427fc448730e589b28a717e62880d0223e1834675c5f20b4b11c778aea" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-generator.json", + "sha256": "88800a97edc0003802d83bbb00d8b01b5b3bca64d82d26ac8a4a4c6093952744" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-pass.json", + "sha256": "11a7b6fbe3c5596f2037fbf0a827ce4a3e8efc3280fd983e9a9aea2ffd21b994" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json", + "sha256": "c55ca1d66c138bb71cf5a5360ce1ce61e96cfea42f9b076088dcd28fd58b55a0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-async-generator.json", + "sha256": "b467db6092503d65472540654f38b988c796d645c84a05925c3220c8bc779236" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-coroutine.json", + "sha256": "b025ad49024eeb7829a3bbeaac7df8306d5b20102f724ab87c489b30352a7419" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json", + "sha256": "095023623c8c3eaf563f2b64afe3857fabb27dd509556a77a8509612a905be6a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-generator.json", + "sha256": "57ad1c7c704b5a4ca36a8a18f8cdd71990a68bf0278fb27fd0c25a6e96dcd631" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json", + "sha256": "bb05833fa4266a768f4c86477f6466606df3ba5f4a301a9511171a836c390232" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json", + "sha256": "a1ea05da56a0f20ee6af1e402b451f02604a27154ec9c62bece931d21a03fcf1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-generator.json", + "sha256": "1f64453e0c34dfda710cba521af173125a5303825b4b492cf3f1f6a2d89ca6b7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json", + "sha256": "cb24b8c483e45c8c0066cb54ec3966034d6423d3c0895450dcc5f868109e32c0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-ignore-middle-wraps-layers.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-ignore-middle-wraps-layers.log", + "sha256": "8baa23df02a8f17dff43efdb1fd2048fa5552bb91a615ea4d2f8467b6f7d65e3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-lazy-controls.log", + "sha256": "593132b829a0d077ae8542b425ef8f786397b6939c7ace83713e9a7fc00a9e40" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/run-new-guard-source-controls.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/run-new-guard-source-controls.py", + "sha256": "08a41c74058c3887c3eb34a232cd64c1c507cab3d4c8ed504e6c5d50a1ae2cc7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/source/mutation_test.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/source/mutation_test.py", + "sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/source/tests/test_mutation_runner.py", + "sha256": "142dffbcf56e1bfd3f21034f31f484f45954f7b1a381d4f558568b67f1d84ac1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/mixed-generator-red.log", + "relative_publication_path": "evidence/lazy-body-profile/mixed-generator-red.log", + "sha256": "24af48646a104c428a673946b736347c5150a49224f6b04c0a128467d5327410" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/new-guard-source-controls.json", + "relative_publication_path": "evidence/lazy-body-profile/new-guard-source-controls.json", + "sha256": "88eefd9ff45f1d386329ab3cb499577bb0e3ab3052c45cecefd582d18ee1a3d9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-accept-falsey-non-none-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-accept-falsey-non-none-returns.log", + "sha256": "51c8bfa5fef9f7bf784166942301065a1b17fc1451c530111e7ca000ad061252" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-accept-non-none-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-accept-non-none-return-objects.log", + "sha256": "b43c342618dd83e53ac33fbf29442f34fbb1bb93e3cd9999ec596e42351fbd5c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-async-generator.json", + "sha256": "de1512a42f1746292c09c11068804112cd8a9f2dbcb21194df91299e5d821a2a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-coroutine.json", + "sha256": "1a5bf1be54b271406f770e5d594f42ec39ff99dad592eabe5764c989f84071da" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-generator.json", + "sha256": "7c553235cd2d9fb7acd29bb9de900eb5dadcb634715ff56121971b1accad1a61" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-none-kill.json", + "sha256": "652f070ff6849beebf49ee1a41432081d3ec893616721c1c7b4325bf806845f6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-pass.json", + "sha256": "6895a3589ea6b8b162e6a3f8f52a18bd7db43fd9b2cb63be4f359c52fff5c8d6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-unknown-iterable.json", + "sha256": "aaea15b6162a0e2343718c9a840e2526d966fd04fb00f4da63c15e6479b5b624" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-async-generator.json", + "sha256": "6959998c9a32a0df2be27687b9b06ce7f9851097d1e6b5c6dd8f455b83ae20b4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-coroutine.json", + "sha256": "a0f413c3db9574bd9e1bfa96147a580591f9b82922ffe50c98cf398f8e3e06df" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-custom-awaitable.json", + "sha256": "246f43b508601e2af2090da41f5372f8cc4a0757c1b9b89ae9662166b7c28f32" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-empty-string.json", + "sha256": "374f9aae7d29f618431b5d5f6ed338dfc7b6363bde770463c33f4327013c50c9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-false.json", + "sha256": "1cc554c0e12d4d35fbb31ac247a189dd128ebcfaf13a48400038e8fd76237bc8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-generator.json", + "sha256": "e24e634e3dab849f68399cee3ec6d9b2ca9021979d8866f0c2ab21fac098c1db" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-scalar.json", + "sha256": "0926fa0038d5c8b3447f4f194c3c108351d4b098732a5cb066eec9f73d90d392" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-zero.json", + "sha256": "240eb9063e732fcd1c3311f9302b9a7ae6d2cdb496b1527af571ff0aa6bc1d47" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-async-generator.json", + "sha256": "86f1e6d71f6adf59d4aa2dbff348606f068cd9a5025de45b0cef544cf638a544" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-coroutine.json", + "sha256": "a8883d9110e163a208df3439165fb68c2346adc5a83c6fb21244e8b4be5dce86" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-generator.json", + "sha256": "b031f6e664cfc8ddc10a8eb555c9f934b3e4bd880922df0576f1e0906f205467" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-lazy-middle.json", + "sha256": "79f63cbbf6eb2fbc2060e7d5fadbc0dcfd71384661e1e3d939ea0a7740bfe3d4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-iterate-unknown-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-iterate-unknown-return-objects.log", + "sha256": "8dea0357a259fb52b0b9fc16aa64ef526d9e8a9328af0a0cd990b1fe5bc54493" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-lazy-controls.log", + "sha256": "7cd8ca15dd44e1f391431ae906909af507dec8d46c9cf7234155206eb02cf060" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-accept-falsey-non-none-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-accept-falsey-non-none-returns.log", + "sha256": "b8bd6b7b83df7648ddc26b938eb53a7308dd4b49dcdd5e2aa5e218180a67106b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-accept-non-none-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-accept-non-none-return-objects.log", + "sha256": "198ffa5f6ec6cfa71544844b5034f9a265f0565308450cffaea2b1d26459986f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-async-generator.json", + "sha256": "00650b9fa99119d8c5ac17523ebbaefa41f0f117bb4b7b739ae24f08a2aed1b9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-coroutine.json", + "sha256": "d60b509a1e124a707a85a8a2c9f181e3cbed8c5ae1fe6d381b3f98906c353baa" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-generator.json", + "sha256": "7c11e95f44fa283863c7759d38a702d0659b04d782ba684739ee9a21250b64cb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-none-kill.json", + "sha256": "7f83c0181d3689b19c8c7af63007406717a694a8675096be8fe6b3b48de9e24c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-pass.json", + "sha256": "4d7b6304160cb59b956b8ec870671bb0cb89b1884843aea458c3362970ad127b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-unknown-iterable.json", + "sha256": "cae95759690c785a383153530d40814939dfccd734ee06e1a2de247df1ba7f45" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-async-generator.json", + "sha256": "8ceba34b0176ef1d9a973dc7eb2d24dc9d43be7f4f0d3906b1abdc0f48c5a99d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-coroutine.json", + "sha256": "ef31f394f904a3665f4bc820d1f6a699cad5bb9bb6b882c9393bc916034d63d3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-custom-awaitable.json", + "sha256": "9dfa05e9b825458c31bee8b3a29a837e41d793df3cba0d1322714d82e66b0eff" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-empty-string.json", + "sha256": "03bcf3deb54fc191773573922cedc74fb84578a899681506d00f399c0f5fc090" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-false.json", + "sha256": "c5413e6e11e4943a34e6436a6170f00e281dff75986ef218faf0a5849eae26bc" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-generator.json", + "sha256": "27390a1a1314e7d41b2e8e46c00c9380b07788cd11194e449d0bc32513b66c3a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-scalar.json", + "sha256": "9420353adf8a5c70c000fadfe922109481d31c2d19cfac7c41857f8361733855" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-zero.json", + "sha256": "719b76ba274ecc1046e78fc7b6e61fd364c1c024ffc4ce0a3a76788de6e6fb4c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-async-generator.json", + "sha256": "ab38d0f65fce4e1253a03652c5f238605b912ffed7654957ba9e442dd475befb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-coroutine.json", + "sha256": "768b18d7eed8f0c37ac1e824586bea239b0e35e3017e75ecf67d57f995657ee6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-generator.json", + "sha256": "c5f964ba7c22a2f56edcbfa39b8c0e0668fd3f167a20da42dbbde26745f85979" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-lazy-middle.json", + "sha256": "534f373f115d2819a4a4b3fe54b77ab16a39f592f5fd432ba68323878ff4ac62" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-iterate-unknown-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-iterate-unknown-return-objects.log", + "sha256": "1a5ffaa1242c35792165c948c1f9710e153a52d6dffa22a0e748e4a892a0bd03" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-lazy-controls.log", + "sha256": "d09ea53a8f32dd6933e707254eb6a7c1f9f7c93357ff0059c707cd217e57dd82" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-async-generator.json", + "sha256": "59a57a8c94922dda3ec7faf26f9bd92a9abbbd7c0a55181cebf7ee6b99ab7b63" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-coroutine.json", + "sha256": "4fe1fd1a82f2063b8dcdcc951759fa97b428c2d6ede31ffa04ffe107518d5882" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-generator.json", + "sha256": "82897e6ec4d2b4824a84b61dc1afdc43cdaeeb3d288a93e94eeb4737fcfcf68e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/ordinary-pass.json", + "sha256": "27e348122d9f750259b0fd11bde6804094a9781b313e930419eafbea4bff674e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/ordinary-unknown-iterable.json", + "sha256": "73a67ab0b8deea5504da9eec393dfdef75f73945b5eb8d1e8160df65d2e52b84" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-async-generator.json", + "sha256": "b5754d4ddd057e4f0c2063704c3d841555feb8bfc79440a96f614eb29b1290df" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-coroutine.json", + "sha256": "1b7470881d93bced1254e086cdf063b6e6c254efc4a260faf40aff39575b793a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-custom-awaitable.json", + "sha256": "f7d42f3a7573c73784e15f296ad1152671c47102247d71a945a5b4e41130b9ed" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-generator.json", + "sha256": "5d9d154747be2787ddea4ed91fc54277b80273503ae49359646ab825143bc033" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-async-generator.json", + "sha256": "738e717f0936b6310e2ee037d85a29f688d88aa94db68d1a7a44cfa1d1f168c9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-coroutine.json", + "sha256": "c72bd10145752b0e17304b31e0c23c24cce8f720c26f51712c39c5bb91e4bcb7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-generator.json", + "sha256": "fddb376a2660fba284666764572753848fc5ee984fd55b2b6d4cea6d61ec6b09" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/red-lazy-controls.log", + "sha256": "8f1c52e4ffc6fb9285c3b6ebf422c33887aa51356406a173a123aa31d9bb0334" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-mixed-generator-false-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/red-mixed-generator-false-kill.json", + "sha256": "f3763817ae55ae39210c270a44a36b70acf524d5285331e9efc78c4470ae834a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-none-kill.json", + "sha256": "8cb1f8cd41f85cb4762e23aaac3b7cc11f309fdf9d56c1625ca7cb79e7852acf" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-pass.json", + "sha256": "117c3c7908c3cdc0d1f66d12a261ae7ed106cdc05b29bf35e42e11b68b846804" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-unknown-iterable.json", + "sha256": "4fa5dd75b1b593f26179207492eaa0e5e6fe96d65fa57fffbffb5c653763ca7d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-empty-string.json", + "sha256": "7a9fdcea28c6735d28e930eca795f0df7bd0c7d06426ee26e1c49ffa6b1342c2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-false.json", + "sha256": "493618ff8e19c15d09a9d474ab09c5b8995adc49c89e1b35937212d435e59842" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-scalar.json", + "sha256": "e88f72d0f19797092f82cd09584c49a00c7e6898726fc96981c20c0a5b56033d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-zero.json", + "sha256": "223a479500ad03e116a3b8f4ef49227cf94b25151a8ecf7e8494051cd1f00bc5" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile.log", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile.log", + "sha256": "869f304a7de9e58f20caa314f54a07f54c97495b04a1b899f73ec478eb52ffbb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/run-new-guard-source-controls.py", + "relative_publication_path": "evidence/lazy-body-profile/run-new-guard-source-controls.py", + "sha256": "53b40ae1abbd4e856befb289199f924a8db246b51254358c5348e5d1fa6a0be3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/independent-lazy-body-review.json", + "relative_publication_path": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "sha256": "8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/original-method-shape-applicability.json", + "relative_publication_path": "evidence/lazy-body-profile/shared/original-method-shape-applicability.json", + "sha256": "16a4c32a9856e83df1e78b35930d5638f146504f1ec1ba95fbac78381072727a" + } + ], + "predecessor_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "raw_receipts_unchanged": true, + "relative_translation_rules": [ + { + "publication_prefix": "evidence/lazy-body-profile/", + "source_prefix": "evidence/layer_a/" + }, + { + "publication_path": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "source_prefix": "evidence/independent-lazy-body-review.json" + }, + { + "publication_path": "evidence/lazy-body-profile/shared/original-method-shape-applicability.json", + "source_prefix": "evidence/original-method-shape-applicability.json" + } + ], + "runtime_copying_origins": [ + { + "expected_old_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "expected_old_native_path": "cbz/contributions/math514/layer_a/mutation_test.py", + "expected_old_sha256": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "kind": "frozen_runtime_successor", + "relative_publication_path": "mutation_test.py", + "source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/mutation_test.py", + "source_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f" + }, + { + "expected_old_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "expected_old_native_path": "cbz/contributions/math514/layer_a/tests/test_mutation_runner.py", + "expected_old_sha256": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d", + "kind": "frozen_runtime_successor", + "relative_publication_path": "tests/test_mutation_runner.py", + "source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/tests/test_mutation_runner.py", + "source_sha256": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + } + ], + "source_stage_root": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix" + }, + "new_evidence_path_map": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-red.log", + "relative_publication_path": "evidence/lexer698-red.log", + "sha256": "b8664d7614517232ea7a2a04908ab3c3e425dc952f4a5ad082a701a15cb34d90" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-api-green.log", + "relative_publication_path": "evidence/lexer698-api-green.log", + "sha256": "e4737c6d01c5ffb433b79740c7ea81632ebcd2d50e7932c95d83e4ab4c5260de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-working-summary.json", + "relative_publication_path": "evidence/lexer698-working-summary.json", + "sha256": "0df50a3443ed8bacd4e8ba2be9156854efbd4126c9a391b834e08e03afec84a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-green.log", + "relative_publication_path": "evidence/lexer698-green.log", + "sha256": "1c8103210a0ee609cc3bb91f19dc6871f5df54b56981a297e9e1fc3d5611c4e5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-existing-harness-optimized.log", + "relative_publication_path": "evidence/lifecycle-existing-harness-optimized.log", + "sha256": "bc287a98102ba59909d3d67a5703831fec5be51e592c408a383878e3ba55e221" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-existing-harness-normal.log", + "relative_publication_path": "evidence/lifecycle-existing-harness-normal.log", + "sha256": "a5f843c113cd036dc1876267aeab55b0932c41e81bfa56bac123bda3880deb26" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-admission.json", + "relative_publication_path": "evidence/lexer698-admission.json", + "sha256": "0749e207efa46545ffbb2c1ad73fb1305dbf7b73f052deeaa02fb84bd1adb3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/existing-harness-current-receipt.json", + "relative_publication_path": "evidence/existing-harness-current-receipt.json", + "sha256": "3a84e01a6a38651a1c8c67e1d1a00f0a6bb763c73cfc5c1f762aef57329e4f0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/composed-admission.json", + "relative_publication_path": "evidence/composed-admission.json", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-api-red.log", + "relative_publication_path": "evidence/lexer698-api-red.log", + "sha256": "d595343251214e3e5b33c40e157d7122f3c241f3e8b07b364c3334137b9f8746" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json", + "sha256": "8437801dee1fcef4fc071f938cc903ab3952e371e281400daa53b671a9762783" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/mutation_test.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/mutation_test.py", + "sha256": "e6afa7a0ef6b3e5cd9ce3afb5a4784ecf5f3163c2ed36fef4a46a517f238b721" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/selected-test_auditor.py.txt", + "relative_publication_path": "evidence/lexer698-initial/selected-test_auditor.py.txt", + "sha256": "bc636f64401f4292815a5e654ab8c6244b93686c3cde20571a53d3d83edee0cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/receipt.json", + "relative_publication_path": "evidence/lexer698-initial/receipt.json", + "sha256": "bdb32009ad622a79727e034a076147145307bf309e6d7b13c129006457a815c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-checks/controller.py", + "relative_publication_path": "evidence/lexer698-checks/controller.py", + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/receipt.json", + "relative_publication_path": "evidence/lexer698-adapted-mutants/receipt.json", + "sha256": "dad914b198e0bbf44f6641001c35b5a0ed0c61811ce774bab3a6ea4e506850fd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-event-count.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-subtest-event-count.log", + "sha256": "7005456e8bebe2eb9b56e56a8c44b35aa4aaa2e914b51f1da9c2f6a1bb7a07d7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "sha256": "0e5b8339c21caa406ac6ba6049539620044f1bd4ea42f92ecc5be55916fbb5eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "sha256": "e9ad02a21799e314b5374d77cb6aef468e2561f92ee23d9b5e3fefe6e19df242" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-focused-tests.log", + "sha256": "c8fc90a471bfe549d6b953270b152b79adfc458b73efbff8669bfac1271c6590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "sha256": "5a158f43f99092a7307ac637eb76794198cf387d497369e80ad3a304dd06b363" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log", + "sha256": "58712533cadfadbff6d3a2428557f1f6aef65748d7480e33026c2cf16574d777" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-setup-false-kill.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-setup-false-kill.json", + "sha256": "cf2e097d01ebb3366c46efb70e23dbd8c1b3de80b1b83668d5d215b1a20a7dc4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/baseline-source-sha256.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/baseline-source-sha256.json", + "sha256": "2103e82406645987ef87649b63240a9ea3abe2f17288a22956724b4ec0b27770" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-external-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-external-population.log", + "sha256": "e6d91ece48ee4bbbbea511f7ff2a66ae1328b91a0020320fbca773a2b6354ace" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-synthetic-callback.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-synthetic-callback.log", + "sha256": "ab63922ceb0f3700dcbd2205834243ca8e096f29e172d5e3eaaaa050e7f2ceb4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log", + "sha256": "bed3024419f029375d02a4e93649d85fd533d54511aa1acc94b914d2ced2d429" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/evidence-index.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/evidence-index.json", + "sha256": "791859398241ca57c9baf6273c39b18d8843764e37212b38b9d2c12652af8ecf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-forged-subtest-events.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-forged-subtest-events.log", + "sha256": "991f5f3bf95c06c6b1ca4e7bd99a83c9d47a2a934fb282088b498b223dfd7ec5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-completed-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-completed-population.log", + "sha256": "b5e3f880d283ad9733985f7654fa9ba75f1f1b0eb90e1231cbd054be70496b83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "sha256": "5c625a02969576a12922738f68eb9b162714b040165e518f1b7e1c75ddd10c3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py", + "sha256": "75042321cd76b3513c14f5fc45393cb6bb5b86e1cedf75d4a289e25795cd151a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-dispatch-hook.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-dispatch-hook.log", + "sha256": "90fcd430201a339409a2736b39eec1361204c8002b3e040af47a75436bedf563" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/SOURCE_SHA256.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/SOURCE_SHA256.json", + "sha256": "7fa273830cd4b48b75db970c143596c07cc9898d19d6d26d0776f5200fb99b08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log", + "sha256": "a34f020aad6559eec1cd1018305c42d5f8008a7f0f5f0da24511bfde0286f45e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log", + "sha256": "ea7a8f0e5d1ea18680fc28c97b70d171471dafe21ae248bb96a44640f934f706" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/lose-method-decorators.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/lose-method-decorators.log", + "sha256": "7eab1e0a89fd174118f1188ee01510fe393bc5741bcb2130479d925978c62b2b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/benign-setup-assertion.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/benign-setup-assertion.log", + "sha256": "4fafb267b998b6df5671ea143ed5768aaaeec2795c4ca0b315e07439747b335b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py", + "sha256": "84ce26cdf0eb5a99a29ede88bc7745fa07901785c18895d1ed7f73b3008efa3d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-external-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-external-population.log", + "sha256": "d4c87cb11d5b3c7038b11b38516c25cca5ff75e52849a0a0e23dfe37429c1709" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/harness-source-controls-initial.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/harness-source-controls-initial.json", + "sha256": "0cbf90e399ae6c10c2774fcb4fff6eeadc107d1f4730d67a582a38249ba36976" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log", + "sha256": "be631658efceb86a65e35e072a91a4a179850e5c34ce3b71f935b2e5846ace46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-harness-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-harness-source-controls.py", + "sha256": "927db98e307dd03eb03685f806dd1e4009a4abb076c5d59b7fec3810b3a2df9f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-accounting-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-accounting-source-controls.json", + "sha256": "58ae0684468b4472f55287091517a4e5462bffedac079d0fa8d930b9c0d1e03f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-schema-requirement.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-schema-requirement.log", + "sha256": "f295efcaed50cf4319d7762d18e71a79bfbedd3a7d508332b8a72a578621148e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-boolean-counts.log", + "sha256": "f555fc30a591c4a7f46af27a7795a0a52e4775d7eb203c6a3fd0fdd8cf05a2d7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log", + "sha256": "975312c9d33754a0ee0df3679c7fa8529d5bcd552cc97118d57ba6c16b750df1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log", + "sha256": "819fb90ee586987ab069f952a62c4bcbf147ac0e1db23188fd1dd344576a1026" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-phase.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-subtest-phase.log", + "sha256": "49506c9b219a5cb5e0697b9a8b78b2d560ba090c22fc140e90cad562b2726a59" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log", + "sha256": "db9ab71d5d65e4726cdc57b3317baf222bb699dbf6177a762529a338940a2369" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/new-obligation-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/new-obligation-source-controls.json", + "sha256": "24627a65535cd182478a12796da4ee6927ceed8a93ca94be5af3c8c469046b0d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log", + "sha256": "3931e34a8b85b973a515c6fc2033147f82277924eafc0ea1387221735abdd3b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md", + "relative_publication_path": "evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md", + "sha256": "266b969941e35a1703ab0cf4c095f1a222eb5b9b1f3cafeb1142bbda4547b682" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-focused-tests.log", + "sha256": "70d28a9ffaf56e2766f01bffe94ff146a70d09100fea66c75af86f25e6eefe89" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-assertion-event-provenance.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-assertion-event-provenance.log", + "sha256": "15520d4df9d87acd07e812b17011fc9d4f3a83314ba7b7412b251a24e1890ed2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-focused-tests.log", + "sha256": "2478a211506f7fa0ed64e3a42a19cfe6418e48860382b3e4d392ecb8eacbede7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-external-population-binding.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-external-population-binding.log", + "sha256": "e06761b787303128d4abc303cffd5059cc43a1ea6fdb4de47ffb83a6e265ba5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-body-scoped-subtests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-body-scoped-subtests.log", + "sha256": "b711eb863e5cc7bf5e113ff7fd1976c971ee5d79324191f4e3b040b85c22c574" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/harness-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/harness-source-controls.json", + "sha256": "100f9129b8cec349cf54e42362edd7441cac12c91ef3e76cfaed6ccc1e9ae5d5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-body-entry-accounting.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-body-entry-accounting.log", + "sha256": "658660c0339ae12ac0a25ea1c218e980198ff1c317fbf55c4dc81090100fd541" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log", + "sha256": "abdffb3ed8af9407cdc0b0beabea9f732036b08e81a083fad7164cebb7cf636b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py", + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py", + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-axiom-category.log", + "sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "relative_publication_path": "evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "sha256": "60d6e1c2132f6ef891f5011b887211f695fcd371b1251606d8a892256ce3303f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "relative_publication_path": "evidence/lexer698-initial/normal/empty-lean-findings.log", + "sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "relative_publication_path": "evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-placeholder-category.log", + "sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "sha256": "08e737fdd7036e291d8fc1042f3cd0420b58f274aaac20e0e4f4e13621038033" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-native-category.log", + "sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "relative_publication_path": "evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "relative_publication_path": "evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/baseline-identity.log", + "relative_publication_path": "evidence/lexer698-initial/normal/baseline-identity.log", + "sha256": "1c38bee11cbf7458401fd5c05c59a866f16ab06c4a2cb45196a79145aec9bee5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-axiom-category.log", + "sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "sha256": "7ac1abde253575f9618b2b354a00485473d56514374dc7272470608b0333eda2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/empty-lean-findings.log", + "sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "sha256": "81b0341312b3a14a5c4c31ea3161bb15184363bb65d81a7a491e9dd8d9e1f5c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-native-category.log", + "sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/baseline-identity.log", + "sha256": "97e645f35e21c52af3988bdc7415c7df498ea9f4f7e5a1d0a781241fd84f0d8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/canonical_lean.py", + "relative_publication_path": "evidence/lexer698-initial/source/canonical_lean.py", + "sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/source_checks.py", + "relative_publication_path": "evidence/lexer698-initial/source/source_checks.py", + "sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/mutation_test.py", + "relative_publication_path": "evidence/lexer698-initial/source/mutation_test.py", + "sha256": "08b284df834f2c5c2960202046036b81826dc3900dc8c2a226ffe42b3a967212" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/auditor.py", + "relative_publication_path": "evidence/lexer698-initial/source/auditor.py", + "sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lexer698-initial/source/tests/test_mutation_runner.py", + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/tests/test_auditor.py", + "relative_publication_path": "evidence/lexer698-initial/source/tests/test_auditor.py", + "sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py", + "sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log", + "sha256": "6eac87ca6e8d1470236dd3624d790866189b90290bfc684f6216f418e896a562" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log", + "sha256": "b823ea9d7f3e570c0ca22f460dcc7b65bac5b29babc6e79ecce1e65fdc510372" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "sha256": "c1c5eeaab374105dd0cc5cf9f8342396712364a73ad3fd303db0bccf31e61bee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log", + "sha256": "f3721624aa8831b88c0db6b9e251dabc4d21a2a5b0226f57f99246db94343cc8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "sha256": "8a6dfe4fbb3a4856f9ea8d12cb55caa4f31095eb17a370b1196c5493ddfbe001" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json", + "sha256": "6ef5102e00197a3577c2a7f01dfb30939944b16806631cf67515317b724dd549" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log", + "sha256": "f2f9b477dc19bb0cbb40c5d0b074148fc3d9198ff042c5c9efd3f08740e26e73" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log", + "sha256": "97329f849c40ec14ba28671433676756d4f17a2357a6ce5fc94d9621bb3fe2e5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/receipts.json", + "sha256": "1e6495f2a1b155fb3893960c37bff367275a5538eef7d0ee9af52929aeae7223" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py", + "sha256": "e3ef018ee646ce11514331488660b4e492b23384d3043c003be54e478e7f707c" + } + ], + "prior_final_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/baseline.log", + "sha256": "b2e6847f813cbd618c30426d1b90b600e14b1aa83b0c46568a2f1e5624ef2c6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-lean-findings.log", + "sha256": "5afc4f4abac0f7a6789db68aacf3fe4880145984c501fd7df42f44a3321fcdab" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "d93390b0a29efce448b7b97c83c2b35fc420e29a997f146dd0e46537a7a206fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "sha256": "ffab4248b6cdc8191139503cbe6b6401ba9d7cadb04c08f36acef00dba44f423" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-axiom-category.log", + "sha256": "74d05966c3bebdc2e451463ee6bd3ff53985554e61235befef92759a8485d6fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-native-category.log", + "sha256": "86e396a97baf1652def570c0caa4f628adcf5934dad230dd52336d8a15473830" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "d267b6b4a659f2a374db686cf7b3ea1836c1d65d1d0b9cfde02812c01870e241" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "c9c9d1020a14f9936c636a2b96bbe2697c93725a7f13c775c01792a29071613c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "sha256": "f38fc00e7e8fb14f2e2f85739eff788d5719e257a6e8a795be0e85d8c6888411" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-python-division.log", + "sha256": "90f67a521041cd7654b217d272778ab4bb70a7e31e5da73254b348ff5f494c53" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "73f5a7d9f04d357bea32a365ad79fe5b10f9a3ff989e4981d46c4ee1a5afcdd4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "077baa995c784ee19b45204ad154ea21039cd30e3d55137782ead735a7a433a6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "a3c138be8887286eb9f7def6ada9c2373699ad38fdb14d5cc3288a5ab49a77df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "072e35971f8c64f6e97151238b531da59a1bbf1bfc525aea1ce1b74f093ce1f8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b030056162cfabc3eeeb8f0c52bb7b9f8ccd274dc8bff0cb79b89c99bc051bad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "59d150c79ba76b270e452e96f593e121bbb6d9f1596f695f248beb6e30a91d6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "e51538ba4caff4b22d0a1ed683957983643a9c2efab94f00fe2f2e97bdce486f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "sha256": "39e9118c52eb4f1e9d60f90390882cf6227fed2180d06195fe7017c2011821af" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "sha256": "a2442444dfe30c439abe9dc06a939b613e4cf3a874cd11619805961f3001942d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-symlink-files.log", + "sha256": "27d31214b243a8162cc7b6d6b5dceb98098be7ca892160a94e38e9a62df1a8ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "sha256": "887d91bffcb4f8de78f67ec87a7136844fc4d9a8afe95300db40a8fa42509fdf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "sha256": "7c0abd09bf090212146c67049cf422154cffb604ae48bdc66be8ea116f5fa697" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c05a5e956756b25788b1fd5a100d8410ca2d8f632134034f9bb35c30bb6536a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "2ced2b97345f4d918819c0997e115b8aae93c5fd248477b8eb6089a7c5f06403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "sha256": "25b32bae46d83b97b109bec534f23760a3aff44551707637643d00cbcb87721d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e1a6b93cc62892ba2c542957b0cbae0cedbd38357fd48fba03e776fae19549f0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "458ab4714ee1afcd62e0a34d4a79ba99d03e5c291a3c39f7361e148325fcc14e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "8061ee644baabc57ef87a2c44cdb08506afcaea0d3a89a8236b4b02f926c799c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "7f4d52b7e3862ecf95bd03bc326fbc434ea0ac42d421acb5394abc28e75716bd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bad6c8a559e9f35ace2d40f2db4b3bea9fe59d4d084304331b6230a075a4cb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f4095f142b139c11cc9a03008b4a728ea2d8fd4d7113f1fdc3979545009359d3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-path-validation.log", + "sha256": "628944a0688f6f8fda1d1a722c3af742c8d6ed5a6f96d034e8b43b2e9a8e0116" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "838e2c072d690d6388da8cd6d3e3dfdbaa06ef083dda80852a55bd152b04c510" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "d9359ef9572c7841d57affc7d37a856b54d8c0e07eab6dd9ba818bbe10bf94f9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "74fd63f8feb8e7921c56a55e2cf840318cbd76f476bc3171f0b6b5ba3e805a58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "64b312cc433929417085e9ff0b569e04ef2ab208acde1900a8e377f8288c8e8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-status-evidence.log", + "sha256": "046a559ed488dbeda388035c65fe05a7ef00f3b5febd232bf7a4992358fe15e6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "a513511511b4cd28e1da6d0b808eb5e45cd8400050f30a51404f1753b5cb7a3c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-final-findings.log", + "sha256": "a5e1246730410f6d2d1b08f7161318bbc30e1512ea9068e8f601dade33bebb2e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/always-report-static-pass.log", + "sha256": "e5cf79344245c5eb68c09182cdf6fd3ee7535c969458290c98c6d20cb0ccb12f" + } + ], + "receipt": "evidence/g0-final.json", + "receipt_sha256": "b4342ca431025a44dad0dbd3ebe9e4c5aaf012c1be6f799405be2bcf2e8e01e0", + "source_generation": "evidence/pre-hardening-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "c0bc0ad327e0dc7729935354e459907045432e146665b2114a4e9b8f7da7a66c", + "README.md": "c3eb2c13df3665e72d9aedb03321a6144b96a42c226a245cdfc27688f812926e", + "SPEC.md": "8380d4bbe2d53c822655c27b0f19740216c1bfdc1cef4598825049d40e1c3f58", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "mutation_test.py": "a2d83c63c9b20e3b52366ff984f3e6595493e1da3d39b50a4c1b3586ec3dfe6d", + "source_checks.py": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "tests/test_auditor.py": "2894e255ef5be4dfad05c42b06266c12d166be4fe99c57301a79a904888efc1f", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "prior_hardening_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/baseline.log", + "sha256": "bd37bf8669df3ae7b450faeee1af77f02b48329dcf2626861e254fec3d9c2d23" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "sha256": "c4587e83122861a0237adbecc165becb3f411abf6e51e822c762724666686713" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "61d02f4280530e8a56c8ce30e5a7f262d02c5ad5519c08c71f074a09709827eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "sha256": "4cb5a8f9b226349a90b914735b2c9435396eee6287196d618af1f5aa7a582a82" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "sha256": "cbf98f43bbd15a5b8d64108601a9954cae55839cd608594f261f12a019752dbc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-native-category.log", + "sha256": "b22eabb8238c3bedef79309510a5d92e91a17b0800e2c18754f366ee98a501a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "8686edc6ae1fe32a14b9aa66d66c8bf2022786daf0f6572ec04b2475858cf83a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "55d3acd966c7d9384d0db2c6f420437a08af5060cf0357d59916ca641c9f248c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "e0c33cc66d79032b41ead944f8b1cda358a2a3c3c34552bce21687fb1495ca25" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "6a9f4b5c4b918bda1d53303d7b48648fff9b4804fda88523c6bcc5587883dcaf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "211ec1bab634374be7a3ca12dff211e293059f11cb2ac1c1f9b814f1ed0a217f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "sha256": "3c4ad9e87a4a98f1ebe8befc0c81d101ce9ecf7c5646dbd52dabc2ab8acaa194" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "sha256": "25cd3661a79e7c5a5e6bd5487a40e6fc88b926ac65eefbdd52b1064a042a0dde" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "sha256": "9c6c214212dbe6cfe36cd65d18eabd9cc2e19522e25762b48992a99798a233da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-python-division.log", + "sha256": "c4d8f33d381d130e20d6f9e20d08e64c46c89574f5a6ea643b7cc42c29fa0e58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "b0fcabb9bfd9e6c182743e938946d281fa0d55fe5c16fb0dfba780b641d4670a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "sha256": "0b008f6ba32d9db12ed65bc22a44ceac76dc5bc5105d33124d6eda104f90b73c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "sha256": "4ea10c9d750f149a5c59088ed436a714a7983e9dafe215b507e627c8683d5fe0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "sha256": "1ed1f484525fb0310b0e3b94ece2f07ae0a9a5f9d4bc3b3a884785a3e2feeb49" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "88fa12659e796a10ae4063dd6cda8a23d4be018b874dff2695cc15bb6f704c40" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "sha256": "dd4c206c1d4214a6490da2b9e23405c1ff7f5e76adeab2d28bed8f8b342a2a1c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "sha256": "cb4772082dc8887c29873814130fe2f01a28cde88baab251791b2f6427b76c01" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "sha256": "257046b4f24b6b58471b2510253cfc5fe763801ca8c999d0362af425f38828c2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "sha256": "6045e698601fe16a93208529417272488024148332e848f9d0b509c21c291204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "sha256": "369055295133c748500c408d7d371a4ef29488d0c22161fb49c6969a465dc3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "sha256": "a1cb4206066ccf5538e24f839774d67d74fc898727f116cea7ddb7aa13c58fef" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "sha256": "4ead5222f76968d334b66969596d3498e8e8e9a657b550e5e525a7e5263fddc1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "sha256": "a16eff825df6cb63dafa28fc0852c0fb429ee011e5011a4677fa394afb2264b8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "sha256": "1c3bcdf1189e2128a11fe50a57220d0a55f7b970a926b8ac05a64c72228c665c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "sha256": "b4ebe7ee7bfa8818c18da972dc64c1a4d271a89fa31d67d3dd83f5534d6e45da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "0f1744f32d0284e72e91012dc946b83b1b032aa994c74ea5c907880cd38d0a0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "5ab7c0439d0e71ca7618c1595e3c9b6695d3c82e66382cb9a21fc58dae2f4068" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "ed8516f2431a2c5752c14151a2fd30707e04cb5dd56ef17854dea4954a22d590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "47b56ba8eb2fb962458f1452544de58ce8260ccd345fc9c71b36c4f2e2253d61" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bf8d81ba19834ddd2b02d81dbdded4facef1dab24c2bf96bcf303746baeafc19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "00124e5e1df955287d1870b0cc755650ced8c66ac4414861c31913ef983c956e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "sha256": "1c649385e7cceb63128ab5787ab284a2949976e1c5466351f7e19b3eaef18816" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "sha256": "89687c72e1d7ebcef094010d2137196689a2399abed75f8d36940e839ef19a9c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "sha256": "978eb2468f165747544737c44c5f90611b9fd109f6c455bbc2758b522502434f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "391b9a461a8f909d3ddef00bdc707b2dcfed55371a357ca0564ff79bf95567c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f5207c74b953d3ca495d6bee17d36449743f90ef4e9e242fe46d92f455707ede" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "sha256": "669fc517a61f88f117abb237704a5ba8db91b479ea94500e8a5132de709ed272" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "ee53fce5e4246153d1f88d4f7d944c25724e810637a5e069900f89efaec5398a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "sha256": "691a2600bcf1b3153d2639dcd86a3a34ddddfb01021db2cbdd7ecf5d98c329ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "sha256": "c1dc3d4532a7cfbb53f2ce28c4a5f406f54296aa8d247bdc4f76844ee2ebab52" + } + ], + "receipt": "evidence/g0-hardening.json", + "receipt_sha256": "9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619", + "source_generation": "evidence/pre-admission-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "f32f736f63c08ec0fd67b4ef4746630e17c39085ab700f5eee8ddda41c87fed0", + "SPEC.md": "75dc927fc35b0dff3f2423957dcf311ea95c9364c1ae3208f670ebe22eac774d", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "a5241db32bbbadbce183aad2ffeae2fc732406fdf01fbec79b3d27a95b06ed2a", + "source_checks.py": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "tests/test_auditor.py": "05095a3fd3cc71bfedd37b57a07e5a4d97ea40e43a7ab3df05fa9967b55d754e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "publication_prefix": "cbz/contributions/math514/layer_a/", + "raw_receipts_unchanged": true, + "schema_version": 1, + "scope": "Byte/source-generation custody map; no G0 or repository/mathematical execution.", + "translation_rule": "Remove execution_root from a raw source/log path and resolve the remainder in this contribution; raw paths are historical provenance, not portable commands." +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/LEXER_PROVENANCE.json new file mode 100644 index 000000000..e43fbb062 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/LEXER_PROVENANCE.json @@ -0,0 +1,93 @@ +{ + "adapter_boundary": "Minimal seven-field metadata adaptation; unsupported shape/lexical errors refuse; no second lexical engine", + "bytes": 24721, + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "current_tool_composition": "evidence/composed-admission.json", + "exact_public_source": "evidence/public-main698-38312e16/layer_a_scan.py", + "head": "38312e16f7ae22aeb433823c4a00a2cc80e23d0b", + "immutable_pr_metadata": "evidence/public-main698-38312e16/PR_METADATA.json", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "2eee3a2200082444093935291b9389c0795641cf", + "new_integration_verification": "45 affected lexer methods and19 affected scanner mutants per mode;27 unaffected auditor methods and38 historical scanner mutants reused. Eight new andthree retained grader methods verified separately undernormal/O; no fresh whole83/57 claim.", + "path": "tools/cbz/layer_a_scan.py", + "previous_version": { + "blob": "0a113896aff4c999111193359c38906ff61e52e8", + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "preserved_source": "evidence/pre-canonical698-source/canonical_lean.py", + "prior_receipt": "evidence/g0-admission-final.json", + "prior_receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "provenance": { + "bytes": 17697, + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "exact_public_source": "evidence/public-pr29-ef5b924/layer_a_scan.py", + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "immutable_pr_metadata": "evidence/public-pr29-ef5b924/PR_METADATA.json", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "0a113896aff4c999111193359c38906ff61e52e8", + "new_integration_verification": "local hardening G0 covers actual adapter and narrow stricter source policy, including actual checker-source mutations", + "path": "tools/cbz/layer_a_scan.py", + "previous_version": { + "blob": "9393cf7ef6d0665c232556f8df745463f83c9f5e", + "head": "b7eebb4daee0d49f8147e235df7799a15187aa75", + "preserved_source": "evidence/pre-hardening-source/canonical_lean.py", + "prior_receipt": "evidence/g0-final.json" + }, + "published_verification_claim": { + "behavioral_tests": 28, + "mutants": 39 + }, + "published_verification_status": "CONTRIBUTOR_CLAIM_RECORDED_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/Universal-Law-Workspace", + "sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "source_receipt": "evidence/public-pr29-ef5b924/FETCH_METADATA.json", + "unused_interfaces": [ + "classify_token", + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interfaces": [ + "lex_tokens(text)", + "_CHAR_LIT" + ] + }, + "verification": { + "mutants": 53, + "status": "HISTORICAL_SCOPE_REUSABLE_WHERE_UNCHANGED", + "tests": 70 + } + }, + "published_verification_claim": { + "a3_mutants": 23, + "behavioral_tests_per_mode": 72, + "lexical_mutants": 66, + "python_modes": [ + "normal", + "optimized" + ] + }, + "published_verification_status": "CONTRIBUTOR_EVIDENCE_REUSED_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/main", + "reused_actual_lean_counterexamples": { + "directory": "evidence/public-main698-38312e16/independent-review/", + "new_compiler_runs": 0, + "source_and_log_pairs": [ + "numeral-command.lean.txt / numeral-command-lean.log", + "macro-string.lean.txt / macro-string-lean.log" + ] + }, + "sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "source_receipt": "evidence/public-main698-38312e16/FETCH_METADATA.json", + "unused_interfaces": [ + "classify_token", + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interfaces": [ + "lex_tokens(text, errors): seven fields", + "_CHAR_LIT" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/PUBLICATION.md b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/PUBLICATION.md new file mode 100644 index 000000000..e9347b01b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/PUBLICATION.md @@ -0,0 +1,19 @@ +# Exact-scope auditor lazy-body successor overlay + +This is an overlay on the complete 521-file published package at `95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2`. Applying its modified/new files to that exact package preserves all prior source, receipts, failures and historical snapshots. The overlay is not a standalone complete package. Runtime replacements are accepted only after matching predecessor SHA256 e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed and 347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d. + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +Current composed inventory is 87 methods: 72 auditor methods, 11 retained harness methods and 4 new lazy-body profile methods. Only the 4 new methods were freshly exercised for this successor, normally and optimized; completed applicable evidence for the 83 predecessor methods is reused. The 57 checker mutation definitions are unchanged and retain their version-bound 19 affected plus 38 historical evidence. No fresh whole-87-method suite, 57-mutant G0, CI, Lean or mathematical run is claimed. + +The final repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +Current composition: `evidence/lazy-body-profile/current-composed-admission.json`. New evidence under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +This change adds an inline ordinary_sync_method predicate in mutation_test.py; it introduces no additional runtime module or dependency. + +The predecessor publication metadata is preserved byte-for-byte under `evidence/pre-lazy-body-profile-publication/`. New raw evidence is preserved under `evidence/lazy-body-profile/`; EVIDENCE_PATH_MAP.json translates its historical execution paths without rewriting receipts. The external overlay manifest supplies every changed/new file hash, native destination and copying origin; the external full FILES.json is the logical current map after overlay application. + +No project tests, checker mutants, compiler, mathematical check, actual repository G1, CI or remote write was run while composing this package. Root owns expected-old-head native publication, canonical integration and final gate decisions. Completed review applies only to its bound source scope; provider-distinct process requirements remain separate. No CBZ declaration is made. diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/README.md b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/README.md new file mode 100644 index 000000000..f41ff570b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/README.md @@ -0,0 +1,145 @@ +# CBZ exact-scope Layer A contribution + +This tool contributes classification/hash/import isolation, a strict exact-arithmetic Python AST profile and A6/A7 evidence bindings. It reuses Root's unchanged canonical Main#698 identifier lexer through a bounded metadata adapter. It does **not** replace federation G2/G4 or declare mathematical closure. The authoritative mechanical contract and limitations are in [SPEC.md](SPEC.md). + +## Commands + +With Python 3.11 or newer, change into the complete tool directory at your chosen repository-relative destination, for example `cbz/contributions/math514/layer_a/` or `tools/cbz/exact_scope/`: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use a fresh controller output path per run; preserved raw development receipts are immutable historical evidence. Raw receipt paths identify the local environment where they ran, not publication execution paths. Run the second command for an actual repository only after applicable current tool-admission evidence is established and the controller has prepared its final tracked-file scope. Reuse completed checks on unchanged inputs; a new clone or handoff alone does not require another G0 run. G0 runs every local selftest, then actual temporary checker-source mutants. G1 reads files only; it never runs Git, Lean, project Python, external commands or mathematical checks. Its report is deterministic for identical manifest bytes/files/tool. `audit(manifest)` is also available to isolated fixture tests; it accepts the parsed object and returns the report. + +Audit exit codes: **0** bounded `STATIC_PASS`; **1** one or more blocking findings; **2** invalid/unreadable JSON or command-line usage; **3** requested report output could not be written. `STATIC_PASS` always carries outstanding G2/G3/G4/G5/G7/G8/G10 obligations. Every finding blocks the static result; `fatal_gaps` is the subset that specifically identifies missing/unsupported certification. Retained isolated findings appear separately and never mean those files are clean. CLI input errors produce JSON except argparse usage errors. G0 exit 0 means every declared mutant was killed; any surviving/invalid/crashing mutant or baseline error is nonzero. No weakening/skip option exists. + +To run selftests alone (development, not a replacement for G0): + +```sh +python -B -S -m unittest discover -s tests -v +``` + +## Manifest schema v1 + +JSON accepts integers only; duplicate keys, floats, NaN and Infinity are rejected. Top-level keys are **exactly**: + +```json +{ + "schema_version": 1, + "approved_axioms": ["propext", "Classical.choice", "Quot.sound"], + "roots": [ + { + "id": "math", + "path": "/absolute/final-tree", + "tree_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "tracked_files": ["Closed.lean"], + "files": { + "Closed.lean": { + "sha256": "<64 lowercase hexadecimal content digest>", + "kind": "project_lean", + "module": "lean:Closed", + "vacuity": { + "t@1": { + "status": "conditional", + "premises": [], + "reason": "No nonvacuity certificate claimed; elaborated statement review remains G2/G8." + } + } + } + } + } + ], + "module_map": {"lean:Closed": "math:Closed.lean"} +} +``` + +This is a schema illustration: replace the absolute root, immutable tree id, exact inventory and actual SHA256 values. Roots are nonempty, normalized absolute directories with unique ASCII ids (`[A-Za-z0-9_-]+`) and nonoverlapping paths. A tree id is 40 or 64 lowercase hexadecimal characters; G10 authenticates its connection to the supplied inventory. Every root has a nonempty unique list of normalized relative NFC paths, no `..`, backslashes or symlink component. `files` keys equal `tracked_files` exactly. No exclusions or inferred quarantine folders exist. The controller supplies the full final tracked scope; untracked state and inventory authenticity remain G10. + +Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable to its kind fail. Additional fields by kind: + +| kind | Fields and obligations | +|---|---| +| `project_lean` | `module`, `vacuity` required; `.lean` source | +| `math_python` | `module` required; `.py`/`.pyi` closed exact-program profile | +| `engineering_python` | `module`, `nonmath_review` required; `.py`/`.pyi`; floats only in explicit bound nonmathematical reviewed scope | +| `negative_fixture` | `language`, `module`, `expected_findings`, `fixture_purpose`; retains actual negative tests | +| `quarantined_source` | `language`, `module`, `expected_findings`, `quarantine`; exact terminal isolation | +| `external_pinned` | `pin` required; source requires supported `language`/`module` and Lean `vacuity`; optional binary `bindings` | +| `binary_proof` | `bindings` required, optional `pin`; bytes are not treated as text | +| `documentation`, `data` | optional `status_evidence: true` for JSON status surfaces; other known source/proof suffixes cannot be relabeled this way | + +`language` is `lean` or `python`. Retained source always requires language and a registered module, including a `.txt` filename; a mapped external module likewise requires supported source analysis. Historical `.lean.txt`/`.py.txt` source is recognized. Known unsupported source extensions fail with `LANGUAGE_GAP` even if labeled Lean/Python; they require an appropriate certifier, not arbitrary data labeling. Nonbinary files must decode strict UTF-8. Actual reads and explicit permission bits are checked, including under a privileged reader. Immutable `pin` is exactly `{ "revision": "<40 or 64 lowercase hex>", "origin": "" }`. Dependencies are scanned, never automatically declared safe by pinning. Known binary object suffixes also require G2/G4 bindings when `external_pinned`. + +A source module has exactly one identity, e.g. `lean:Closed.Base` or `python:certifier`, and its one `module_map` value is `rootid:relative/path`. Maps cannot point to documents or alias a differently declared module. Explicit imports resolve through this map. Closed code may not reach negative/quarantined source through any mapped import chain. Python `from fractions import Fraction [as alias]` is the sole built-in exact-math profile import; G7 must bind/authenticate that Python runtime and fractions implementation. Mapped local `fractions` modules take precedence over the stdlib exception; a mathematical source cannot depend on an engineering-only replacement. Python mapped package prefixes and `from package import submodule as alias` candidates also enter the isolation graph. Other unknown imports, relative/star imports, reflective loaders, macro expansion and unsupported mechanisms remain reported gaps. Plain Lean module identifiers including apostrophe, `!` and `?` suffixes are extracted completely. Unsupported or escaped operands and trailing syntax are explicit `LEAN_IMPORT_GAP` findings even after a valid prefix. Both Python scopes refuse explicit reflective namespace entrypoints (`__builtins__`, `vars`, `getattr`, `setattr`, `delattr`, globals/locals and defined globals/class/frame attributes); an engineering review does not waive that boundary. There is no general import/dataflow completeness claim. + +## Retained source and certificates + +`expected_findings` is an exact map of checker code to positive integer occurrence count, e.g. `{"LEAN_PLACEHOLDER": 1}`. `{}` is valid for a retained semantic failure that has no lexical violation; G5 still must retain and execute its actual failing test. Missing or extra scanner findings block. No retained source is counted as clean. + +A quarantine object has exactly: + +```json +{"id":"Q-1","boundary":"root:path and exact isolated mathematical boundary","blocking_reason":"specific unproved fact","owner":"none","maintenance":"zero"} +``` + +All evidence references have exactly `{"root":"id","path":"relative/file.json","sha256":""}`. The referenced file must itself be classified, readable, hash-bound JSON inside the manifest. Binding is mechanical; authentication and truth of its review/certificate are G8/controller work. + +An engineering `nonmath_review` reference points to exactly: + +```json +{"type":"nonmathematical_review","source_sha256":"","scope":"nonmathematical_execution_only","reviewer":"identified reviewer","rationale":"explicit reviewed execution scope; no mathematical certification"} +``` + +This is an affirmative review claim, not a waiver for mathematical floats. The controller must substantiate it. + +Lean `vacuity` keys cover exactly every lexical theorem/lemma/example as `name@line` (anonymous `example@line`). An entry has `status`, nonempty `reason`, and only the following applicable fields: + +- `conditional`: explicit `premises` string list, possibly empty; no satisfiability claim. +- `vacuous`: reason naming the unsatisfiable source-shaped hypotheses; syntactic contradiction candidates require this classification. +- `nonvacuous`: `evidence` reference to `{ "type":"nonvacuity_certificate", "subject_sha256":"", "declaration":"name@line", "witness_description":"actual witness and certificate description" }`. + +Candidates are syntax observations; arithmetic interpretations, aliases and arbitrary proposition SAT are not decided. G8 must validate the semantic interpretation of annotations, and G2 must expose generated/aliased statements. Conditional status never closes a mathematical hypothesis obligation. + +Binary `bindings` is exactly `{"G2":,"G4":}`. Each reference points to a passing JSON object with `type: "kernel_evidence"`, corresponding `gate`, `subject_sha256` equal to the object's content hash, `observed_status: "PASS"`, integer `exit_code: 0`, a nonempty command list and nonempty `run_id`. G2/G4 must actually supply/authenticate that result; byte/hash presence cannot create it. + +## Status evidence schema + +A file with `status_evidence: true` contains exactly required fields `schema_version:1`, `gate:G0..G11`, `observed_status:PASS|FAIL|NOT_RUN|ERROR|INACCESSIBLE`, nonempty `run_id`, nonempty string-list `command`, `exit_code`, and nonempty `inputs` mapping `rootid:path` to actual content SHA256. The only optional field is `evidence`, a bound JSON reference. `PASS` requires integer exit 0; `FAIL` requires nonzero integer exit; other observed execution states require integer exit. The observation JSON must equal all status fields except the evidence pointer, using canonical JSON comparison that distinguishes booleans from integers. `NOT_RUN` requires null exit and no observation evidence. This checks structure and bindings, never an aspirational Markdown label or command execution authenticity. + +## Published lexical reuse and evidence + +`canonical_lean.py` is the unchanged public `tools/cbz/layer_a_scan.py` from Main#698, head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b`, native Git blob `2eee3a2200082444093935291b9389c0795641cf`. `LEXER_PROVENANCE.json` records its exact source binding. The adapter consumes its seven-field identifier stream and character-literal recognizer; path contexts, filesystem/Git walking and standalone CLI are unused. Every supplied file remains explicitly classified by the manifest. Unsupported token metadata or lexical errors cannot produce a clean result. + +This replaces the older ULW29 engine after two concrete source-admission gaps: a valid `0axiom` command boundary hid an owned axiom, and nested quoted terms inside `throwError` interpolation hid an explicit `sorry`. The canonical engine supplies the numeric boundaries and conservative interpolation-hole scan; no second lexer engine is introduced. The bounded secondary metadata parser remains responsible for imports and source-shaped declaration/vacuity metadata. A conservative hole interpretation may also flag hazard-looking brace text inside an ordinary string. Arbitrary macro semantics remain G2/G4 work. + +The lexer integration receipt remains `evidence/lexer698-admission.json`: its 45 affected methods and 19 scanner mutants per mode are predecessor-scope observations reused here. The current 87-method composition, including four newly exercised lazy-body methods, is recorded separately at `evidence/lazy-body-profile/current-composed-admission.json`. Main#698's existing actual Lean counterexample sources and compiler logs are retained under `evidence/public-main698-38312e16/independent-review/` and reused without compiler replay. Its contributor 72-test/two-mode and 66 lexical plus 23 A3 mutant results are inherited source evidence, not a new run of this wrapper. + +The historical Main#697 head `027505fee908693ded0a9e99eaa974ea6f419c6b` passed 70 tests and 53/53 source mutants, receipt `evidence/g0-admission-final.json` (SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`). Those results remain valid in their recorded scope and are reused only where the relevant source/dependencies are unchanged. They do not cover the newly discovered cases or certify the changed lexer bytes. The old source/tests/provenance and receipts are preserved at `evidence/pre-canonical698-source/`; earlier b7eebb4 and hardening generations remain distinct. + +G0 receipts bind the actual checker/test/spec/README source hashes and each changed checker hash/log. Invalid syntax, import/runtime errors and timeouts do not count as killed mutants. Identity-mutant and crashing-mutant tests verify the harness itself. Initial red runs and the original permission-guard survivor are retained as development evidence; the original guard-removal mutant remains in the final declared set alongside the actual skip-file mutant. The privilege-descriptor fixture kills the original by assertion. All final threshold decisions use exact integer counts, never floating point. + +Owned by the root CBZ integrator after admission. This agent only writes this directory and its discovery build report. Root owns the final registry, tracked scope, source receipt verification, G0–G11 final run and any CBZ-0 declaration. + +Hardening scope: `Environment.addDeclWithoutChecking` and qualified/escaped forms are blocking `LEAN_KERNEL_BYPASS` findings. Escaped `admitGoal`/`mkSorry` helper constants are refused alongside `sorryAx`. Unterminated character literals fail with `LEAN_LEXICAL_GAP`. Every exact `native` identifier is conservatively refused, so native configuration flags do not evade detection through whitespace, line breaks or nested comments; this policy can also reject harmless uses of that identifier. Comments and raw strings remain noncode; ordinary string bodies are also conservatively scanned for executable brace holes. No arbitrary alias expansion, semantic kernel trust or SAT completeness is claimed. The finite planted layouts are listed in `evidence/hardening-assessment.json`. + +Canonical lexical diagnostics are deduplicated by their exact `(line, column, kind)` tuple in first-seen order and emitted after the secondary lexer findings. Distinct diagnostics remain distinct; the manifest auditor sorts its final findings deterministically. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +Current composed inventory is 87 methods: 72 auditor methods, 11 retained harness methods and 4 new lazy-body profile methods. Only the 4 new methods were freshly exercised for this successor, normally and optimized; completed applicable evidence for the 83 predecessor methods is reused. The 57 checker mutation definitions are unchanged and retain their version-bound 19 affected plus 38 historical evidence. No fresh whole-87-method suite, 57-mutant G0, CI, Lean or mathematical run is claimed. See `evidence/lazy-body-profile/current-composed-admission.json` for the current composition. The unchanged predecessor `evidence/composed-admission.json`, existing-harness receipt, lifecycle report and source reviews remain historical and separately version-bound. + + +## Synchronous None-return mutation-grader profile + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +Current composed inventory is 87 methods: 72 auditor methods, 11 retained harness methods and 4 new lazy-body profile methods. Only the 4 new methods were freshly exercised for this successor, normally and optimized; completed applicable evidence for the 83 predecessor methods is reused. The 57 checker mutation definitions are unchanged and retain their version-bound 19 affected plus 38 historical evidence. No fresh whole-87-method suite, 57-mutant G0, CI, Lean or mathematical run is claimed. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +The final repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +Current composition: `evidence/lazy-body-profile/current-composed-admission.json`. New evidence under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/SPEC.md b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/SPEC.md new file mode 100644 index 000000000..f27f7bf6a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/SPEC.md @@ -0,0 +1,57 @@ +# CBZ Layer A static auditor — bounded specification + +Purpose: G0 tests the auditor itself; G1 checks a root-authorized exact tracked-file manifest. This is a focused Python-stdlib command, not a Lean parser, kernel, SAT solver, Python interpreter or general framework. A successful result is `STATIC_PASS`, never CBZ-0 or proof closure. + +## Authority and scope + +The final federation controller supplies schema v1: exact roots, immutable tree identifiers, complete tracked-file lists, and one hash-bound classification per tracked file. The auditor validates every listed file, exact classification coverage, normalized paths, absence of symlink aliases, UTF-8 where applicable, readability, content SHA256, and all class-specific obligations. It never guesses exclusions or silently skips a file. The authority/completeness of the supplied Git inventory remains G10; this tool deliberately does not run Git. Its report binds manifest bytes, inventory lists and every scanned file. The manifest is supplied outside the audited root in tests; production may bind it as controller evidence outside its own hash cycle. + +Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_fixture`, `quarantined_source`, `external_pinned`, `binary_proof`, `documentation`, `data`. Source-looking extensions cannot be relabeled documentation/data. Every source, including quarantined and negative source, is scanned. Retained negative/quarantined source must name its exact expected finding multiset; extra or absent findings fail. Quarantine additionally records an exact nonempty boundary, blocking reason, id and source hash. These records are dispositions, not clean source. Binary proofs require content-bound G2 and G4 evidence references. External files require immutable revision pin metadata; no implicit dependency trust exception exists. + +## Mechanical claims + +Lean: Root's unchanged canonical Main#698 identifier lexer (`canonical_lean.py`, provenance in `LEXER_PROVENANCE.json`) supplies the hazard stream through a seven-field metadata compatibility adapter; a bounded punctuation/header lexer supplies import/declaration metadata and malformed-input detection. Unsupported token metadata and canonical lexical errors fail closed. Together they handle line comments, nested block comments, ordinary/raw string literals, character literals, escaped identifiers and Unicode identifier boundaries. The canonical engine uses Lean numeric token boundaries, so an adjoining `0axiom` cannot swallow a command keyword. Its conservative brace-hole interpretation scans nested quoted terms inside possible macro interpolation such as `throwError "bad {let x := "safe"; (sorry : Nat)}"`; this may add findings for ordinary brace text and does not certify arbitrary macro semantics. The secondary parser conservatively refuses its unsupported interpolation forms. Outside comments/raw strings, including code in these possible interpolation holes, it detects exact `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, axiom/constant declarations, `native_decide`, `native`, `ofReduceBool`, `ofReduceNat`, `ofReduceInt`, `trustCompiler` and `skipKernelTC`, including qualified forms. `addDeclWithoutChecking` (qualified/escaped forms included) is a blocking unchecked-kernel-insertion hazard. Escaped `sorryAx`/`admitGoal`/`mkSorry` constant names remain hazards, while escaped keyword identifiers such as `«sorry»` are not logical placeholders. An exact `native` identifier is always refused, conservatively covering native-decide configuration across whitespace, newlines and nested comments without depending on a follow-text regular expression. Float/Float32 and unsafe/macro/elaborator/FFI syntax are flagged for explicit G2/G4 follow-up because lexical inspection cannot certify its expansion. Imported project macros can inject axioms without these tokens: G2 must enumerate ALL elaborated owned declarations, including private/generated ones, and G4 must kernel recheck them. + +Approved foundation declaration profile: **no newly declared owned source axiom is permitted**, even when named `propext`, `Classical.choice` or `Quot.sound`. The approved imported transitive axiom set is exactly `{propext, Classical.choice, Quot.sound}`; only G2's all-declaration kernel environment audit can authenticate that set and those actual declarations. Lexical source naming cannot create an exception to it. Dependencies are immutable pinned inputs, not arbitrary new foundation declarations. + +Math Python: an explicit AST allowlist accepts closed-program exact integer/`fractions.Fraction` arithmetic, exact builtins and statically named local functions. No floating/complex literals, `/`, unrestricted powers, arbitrary imports, dynamic calls, reflective attributes, classes, decorators, async, external input, exceptions as proof, or builtin/Fraction rebinding. `**` requires a nonnegative integer literal exponent. Fraction import aliases are supported and protected. This is a conservative syntactic exact-arithmetic profile, not arbitrary interprocedural float-dataflow analysis. Functions are certified only as part of the closed program; external callers are outside the profile. Engineering Python allows floats only with a hash-bound explicit review declaring nonmathematical execution scope; it is parsed and dependency checked, never silently admitted as mathematical certification. + +Boundary checks: explicit Lean and Python imports from closed sources resolve through `module_map` to classified pinned files. Closed code cannot import quarantine or negative fixtures, including transitive import chains. Plain Lean module operands include apostrophe, `!` and `?` identifier suffixes; an unsupported operand or trailing token is a gap even after a valid module prefix. Escaped module syntax is outside this bounded import parser and is refused. Python refuses explicit reflective namespace/loader entrypoints in both mathematical and engineering source, including builtins/namespace names and the defined globals/class/frame reflective attributes; a nonmathematical review cannot waive import isolation. Unresolved/dynamic/unsupported import mechanisms are fatal gaps (or exact retained findings in isolated source); no claim of arbitrary runtime dependency completeness is made. The module map must agree with per-file declared module identities and cannot alias names. Retained source requires supported language/module metadata regardless of suffix; an external mapped module also requires a supported source language. Known unsupported source suffixes remain gaps even if labeled Lean/Python. G2/G4 must account for generated modules, macros, FFI and runtime-dependent loading; unknown cases are never green. + +A6: every lexical theorem/lemma/example has an entry keyed `name@line` (`example@line` for anonymous examples). Entries are `conditional` with explicit premises/reason, `nonvacuous` with a bound evidence reference, or `vacuous` with a reason. Syntactic candidates (`False` hypothesis, `False →`, opposing `P`/`¬P`, self-strict inequality/disequality, incompatible literal equality) require `vacuous` classification. These are source-shape candidates, not a decision procedure for Lean proposition satisfiability; aliases, typeclass interpretations and arbitrary semantic inconsistency require separate certificates/G2 elaborated statement review. The report lists all detected candidates and all conditional claims. + +A7: status JSON is checked only when explicitly bound with `status_evidence`: exact allowed observed state, gate id, command, run id, input hashes, evidence reference and exit code must agree. Observation equality uses canonical JSON serialization so booleans and integers remain distinct. An observation file is evidence structure/content binding, not authentication that the command actually ran. G8/controller execution receipts supply that provenance. Markdown truth and no-weakened-bound historical intent are outside lexical decidability; they require G8 and source-history review respectively. + +## Nonclaims and hard limits + +No source scanner proves arbitrary mathematics, satisfiability, bound strength, historical test retention, semantic status truth, pin compatibility, kernel trust, command execution or external review authenticity. G2/G3/G4/G5/G7/G8/G10 and relevant manual certificates remain explicit obligations. `STATIC_PASS` covers only the stated mechanical rules under the supplied final tracked inventory. Any missing/unsupported case is a finding/fatal gap, never a skipped green case. Test/mutation scores are finite declared coverage, not a proof of all possible checker behavior. + +## Delivery and authorization + +Owner's explicit autonomous directive supersedes skill approval/branch/commit/reviewer ceremony. Work is confined to `tools/layer_a/` and `discovery/auditor-build-report.{md,json}`; root owns Git, registry, final manifests and final G0–G11. Existing `formal/gate.py` hash/path/axiom target checks were inspected: their target-scoped audit and source-manifest checks are useful G2/G3/G4 components but do not implement this lexer/AST/full-classification contract. Their invariant patterns (safe paths, exact hashes, strict JSON, exact approved set) are retained; their package-specific execution and destructive build routines are not copied or run. + +Published component reuse: exact native blob `2eee3a2200082444093935291b9389c0795641cf` at Main#698 head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b` is imported unchanged. Its published 72-test/two-mode, 66 lexical-mutant and 23 A3-mutant results remain inherited component evidence, not a local wrapper rerun. Its actual Lean counterexample source/log evidence is reused without compiler replay. The adapter uses the canonical identifier stream and character-literal recognizer, with no heuristic directory exclusions or Git execution from the standalone entrypoint. The old ULW29 source/provenance/tests and historical 70/53 receipt are preserved under `evidence/pre-canonical698-source/` and remain exact historical evidence. The predecessor lexer affected-scope receipt is `evidence/lexer698-admission.json`; the current 87-method composition additionally includes four new lazy-body methods and reuses the 83 predecessor methods, as recorded at `evidence/lazy-body-profile/current-composed-admission.json`; unchanged applicable checks remain reusable and no new full-suite score is implied. + +Hardening trigger: a concrete integration review exposed unchecked declaration insertion, malformed character and escaped helper gaps. `evidence/hardening-reported-cases-red.log` retains the observed RED cases; the previous nine G0-bound source/doc files are preserved exactly in `evidence/pre-hardening-source/`. No historical repository mathematics was repeated. Actual repository G1 remains root-owned and NOT_RUN here. + +Canonical lexer integration trigger: newly demonstrated numeral-adjoining owned axioms and nested quoted `throwError` terms were missed by both old source passes. The repair adopts the single canonical engine and a minimal API adapter; it does not add another lexer. Fresh checks are limited to changed Lean integration and defect-bound mutants. Existing Python/manifest-only checks, mutation-accounting checks and completed mathematical verification remain reusable where their relevant dependencies are unchanged. No mathematical/compiler replay was performed for this repair. + +Canonical lexical diagnostics are deduplicated by their exact `(line, column, kind)` tuple in first-seen order and emitted after the secondary lexer findings. Distinct diagnostics remain distinct; the manifest auditor sorts its final findings deterministically. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +Current composed inventory is 87 methods: 72 auditor methods, 11 retained harness methods and 4 new lazy-body profile methods. Only the 4 new methods were freshly exercised for this successor, normally and optimized; completed applicable evidence for the 83 predecessor methods is reused. The 57 checker mutation definitions are unchanged and retain their version-bound 19 affected plus 38 historical evidence. No fresh whole-87-method suite, 57-mutant G0, CI, Lean or mathematical run is claimed. See `evidence/lazy-body-profile/current-composed-admission.json` for the current composition. The unchanged predecessor `evidence/composed-admission.json`, existing-harness receipt, lifecycle report and source reviews remain historical and separately version-bound. + + +## Synchronous None-return mutation-grader profile + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +Current composed inventory is 87 methods: 72 auditor methods, 11 retained harness methods and 4 new lazy-body profile methods. Only the 4 new methods were freshly exercised for this successor, normally and optimized; completed applicable evidence for the 83 predecessor methods is reused. The 57 checker mutation definitions are unchanged and retain their version-bound 19 affected plus 38 historical evidence. No fresh whole-87-method suite, 57-mutant G0, CI, Lean or mathematical run is claimed. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +The final repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +Current composition: `evidence/lazy-body-profile/current-composed-admission.json`. New evidence under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/TOOLING_REGISTRY.md new file mode 100644 index 000000000..3dd6cfb75 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/predecessor-metadata/TOOLING_REGISTRY.md @@ -0,0 +1,43 @@ +# Tooling registry payload — exact-scope Layer A auditor + +Root owns canonical registration and federation admission. This is the component successor overlay from published head `95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2`. + +| Field | Value | +|---|---| +| Tool id | `CBZ-LAYER-A-EXACT-SCOPE-v1` | +| Contribution location | `cbz/contributions/math514/layer_a/` | +| Alternative admitted location | `tools/cbz/exact_scope/`, preserving the complete layout | +| Runtime | CPython 3.11+ standard library and unchanged canonical public lexer | +| Contract | `SPEC.md` and `README.md` | +| Current method inventory | 87 = 72 auditor + 11 retained harness + 4 new lazy-body methods | +| Fresh successor method evidence | Only 4 new methods, normal and optimized | +| Reused predecessor method evidence | 83 applicable methods; no whole-suite replay | +| Checker mutation definitions | 57 unchanged; all checker-mutant evidence reused at its recorded source | +| Current composition | `evidence/lazy-body-profile/current-composed-admission.json` | +| Prior composition | `evidence/composed-admission.json`, unchanged historical receipt | +| Actual repository G1 | NOT_RUN; final manifest and authenticated inventory remain root-owned | +| Mathematical effect | NONE; no mathematical, Lean, build or CI replay | + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +The final repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +Current composition: `evidence/lazy-body-profile/current-composed-admission.json`. New evidence under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +The exact canonical Main#698 lexer remains unchanged at head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b`, blob `2eee3a2200082444093935291b9389c0795641cf`; `LEXER_PROVENANCE.json` binds its bytes. The original bounded manifest/hash/isolation, exact Python AST and Lean metadata contracts remain unchanged. G2/G4 semantic kernel work, G7 runtime/dependency pins, G8 authenticity and G10 final inventory remain separate obligations. + +Public commands are unchanged: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use fresh output paths only when a new execution is warranted. Rebuilding, copying or publishing this overlay does not run these commands. Retain completed applicable verification on unchanged relevant inputs; review handoffs and process requirements do not erase it. + +| Updated registered file | SHA256 | +|---|---| +| `mutation_test.py` | `840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f` | +| `tests/test_mutation_runner.py` | `9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3` | diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-new-controls.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-new-controls.json new file mode 100644 index 000000000..34bcaf54e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-new-controls.json @@ -0,0 +1,407 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "started_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "finished_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "body_entered_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "body_finished_ids": [ + "test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact", + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "body_assertion_ids": [ + "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations" + ], + "assertion_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "source": "direct" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 31, + "subtest_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [ + { + "id": "test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 7, + "assertion_failures": 34, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok\ntest_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL\ntest_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL\ntest_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL\ntest_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok\ntest_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... \n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL\n test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL\ntest_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... \n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL\n test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL\n\n======================================================================\nFAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: [('0b10', 1, 9)] != [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)]\n\nSecond list contains 2 additional elements.\nFirst extra element 1:\n('1.0E+1', 3, 22)\n\n- [('0b10', 1, 9)]\n+ [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)]\n\n======================================================================\nFAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'}\n\n======================================================================\nFAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'STATIC_PASS' != 'FAIL'\n- STATIC_PASS\n+ FAIL\n : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1619d0c48a851c772e0331aaf0027134e6b116f0e6761a8633bcbc467677f812', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]}\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples\n self.assertEqual([x['key'] for x in declarations], ['example@1'])\nAssertionError: Lists differ: [] != ['example@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'example@1'\n\n- []\n+ ['example@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n======================================================================\nFAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py\", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations\n self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1'])\nAssertionError: Lists differ: [] != ['hidden@1']\n\nSecond list contains 1 additional elements.\nFirst extra element 0:\n'hidden@1'\n\n- []\n+ ['hidden@1']\n\n----------------------------------------------------------------------\nRan 7 tests in 0.009s\n\nFAILED (failures=34)\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-new-controls.log b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-new-controls.log new file mode 100644 index 000000000..617ea1899 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-new-controls.log @@ -0,0 +1,545 @@ +test_identifier_literal_and_character_boundaries_remain_intact (test_auditor.NumericDeclarationRules.test_identifier_literal_and_character_boundaries_remain_intact) ... ok +test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) ... FAIL +test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) ... FAIL +test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) ... FAIL +test_numeric_hypothesis_tokens_keep_exact_literal_contradictions (test_auditor.NumericDeclarationRules.test_numeric_hypothesis_tokens_keep_exact_literal_contradictions) ... ok +test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) ... + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') ... FAIL + test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') ... FAIL +test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) ... + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') ... FAIL + test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') ... FAIL + +====================================================================== +FAIL: test_numeral_metadata_preserves_spelling_and_locations (test_auditor.NumericDeclarationRules.test_numeral_metadata_preserves_spelling_and_locations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 279, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: [('0b10', 1, 9)] != [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)] + +Second list contains 2 additional elements. +First extra element 1: +('1.0E+1', 3, 22) + +- [('0b10', 1, 9)] ++ [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)] + +====================================================================== +FAIL: test_numeric_adjacency_cannot_mask_false_hypothesis_annotations (test_auditor.NumericDeclarationRules.test_numeric_adjacency_cannot_mask_false_hypothesis_annotations) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 279, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'VACUITY_CONTRADICTION' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage (test_auditor.NumericDeclarationRules.test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/mutation_test.py", line 279, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1619d0c48a851c772e0331aaf0027134e6b116f0e6761a8633bcbc467677f812', 'inventory_sha256': {'r': '92d9b671375385c200ecc38bf2953dfaa13624c04860f3ba49c9ace8e848798a'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a', 'actual_sha256': '193be90f6207d4d7ef9b87e2476615e1f0a91aa67d8ebf4d76f9c941f64fc99a'}]} + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_anonymous_examples (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_anonymous_examples) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 729, in test_numeric_spellings_preserve_adjacent_anonymous_examples + self.assertEqual([x['key'] for x in declarations], ['example@1']) +AssertionError: Lists differ: [] != ['example@1'] + +Second list contains 1 additional elements. +First extra element 0: +'example@1' + +- [] ++ ['example@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1_000', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0b0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0B1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0o0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0O7', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0x0a', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='0XAB', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1e1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1E-1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0E+1', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.0', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='theorem') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +====================================================================== +FAIL: test_numeric_spellings_preserve_adjacent_named_declarations (test_auditor.NumericDeclarationRules.test_numeric_spellings_preserve_adjacent_named_declarations) (numeral='1.', keyword='lemma') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/declaration-numeric-fix/proposed/tests/test_auditor.py", line 719, in test_numeric_spellings_preserve_adjacent_named_declarations + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) +AssertionError: Lists differ: [] != ['hidden@1'] + +Second list contains 1 additional elements. +First extra element 0: +'hidden@1' + +- [] ++ ['hidden@1'] + +---------------------------------------------------------------------- +Ran 7 tests in 0.009s + +FAILED (failures=34) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-test-source.py b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-test-source.py new file mode 100644 index 000000000..3b0555e09 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/red-test-source.py @@ -0,0 +1,770 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_canonical_metadata_and_error_channels_fail_closed(self): + from unittest.mock import patch + with patch.object(source_checks, 'canonical_identifier_tokens', return_value=iter([('x', 1, 1, False, False, '')])): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + def failed_lexing(text, errors): + errors.append((1, 1, 'unsupported canonical lexical region')) + return iter(()) + with patch.object(source_checks, 'canonical_identifier_tokens', failed_lexing): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + + def test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens(self): + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) + self.assertEqual(self.lean_codes('def n := 0x0a\ndef f := 1.0e+1\n'), set()) + + def test_nested_string_placeholder_and_benign_literal_boundaries(self): + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) + self.assertEqual(self.lean_codes('def s := "brace { harmless } and \\"quoted\\""\n'), set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_defined_reflective_loader_forms_fail_in_engineering_scope(self): + cases=["getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')", + "vars()['__builtins__']['__import__']('Q.bad')", + "f.__globals__['__builtins__']['__import__']('Q.bad')", + "().__class__.__base__.__subclasses__()"] + for source in cases: + with self.subTest(source=source): + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) + + def test_import_module_primes_and_identifier_suffixes_are_extracted_completely(self): + result=source_checks.check_lean("import Good Q.Bad' Q.Other! Q.Last?\n") + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) + self.assertEqual(result['findings'],[]) + + def test_unsupported_import_tail_is_a_gap_after_a_valid_prefix(self): + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good Q.«Bad»\n')) + + def test_literal_import_operands_are_explicit_gaps_after_valid_prefix(self): + for operand in ['"Q.Bad"', 'r"Q.Bad"', "'q'"]: + with self.subTest(operand=operand): + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_numeral_adjoining_owned_axiom_cannot_receive_static_pass(self): + # Canonical698's already compiled counterexample; old numeric lexing hides axiom. + source = 'def harmless := 0axiom hiddenPremise : False\ntheorem bad : False := hiddenPremise\n#print axioms bad\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', + vacuity={'bad@2':{'status':'conditional','premises':[], + 'reason':'source statement only; not a witness claim'}}) + result = self.runaudit() + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass(self): + # Lean is a benign mapped import fixture; actual compilation evidence is reused. + self.add('Lean.lean', 'def imported := 1\n', 'project_lean', module='lean:Lean', vacuity={}) + source = 'import Lean\nopen Lean\n\ndef f : CoreM Unit := throwError "bad {let x := "safe"; (sorry : Nat)}"\n#print axioms f\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', vacuity={}) + result = self.runaudit() + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_bound_engineering_review_cannot_waive_defined_reflective_loader(self): + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-r','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py',"getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')",'engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'A nonmath review is not an import-isolation waiver'})) + e['nonmath_review']=self.bind('review.json') + r=self.runaudit() + self.assertEqual(r['result'],'FAIL',r) + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) + + def test_known_unsupported_source_suffix_cannot_claim_a_supported_language(self): + for path,language,text in [('bad.sh','lean','echo hello\n'),('bad.js','python','x=1\n')]: + with self.subTest(path=path): + self.add(path,text,'external_pinned',language=language,module=language+':Bad'+language, + **({'vacuity':{}} if language=='lean' else {}),pin={'revision':'a'*40,'origin':'fixture'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_retained_text_source_requires_language_then_a_registered_module(self): + e=self.add('Q.txt','theorem t : False := by sorry\n','quarantined_source',expected_findings={}, + quarantine={'id':'Q-t','boundary':'Q.txt','blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + e['language']='lean';e['expected_findings']={'LEAN_PLACEHOLDER':1} + self.assertIn('MODULE_ALIAS',self.codes()) + e['module']='lean:Q';self.m['module_map']['lean:Q']='r:Q.txt' + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_mapped_external_text_module_cannot_skip_supported_source_analysis(self): + self.add('fake.txt','Fraction=float','external_pinned',module='python:fractions', + pin={'revision':'a'*40,'origin':'fixture'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_primed_lean_module_after_valid_import_cannot_hide_quarantine(self): + self.add('Good.lean','def x := 1\n','project_lean',module='lean:Good',vacuity={}) + self.add("Q/Bad'.lean",'theorem t : False := by sorry\n','quarantined_source',language='lean',module="lean:Q.Bad'", + expected_findings={'LEAN_PLACEHOLDER':1},quarantine={'id':'Q-p','boundary':"Q/Bad'.lean",'blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.add('Closed.lean',"import Good Q.Bad'\n",'project_lean',module='lean:Closed',vacuity={}) + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_status_observation_binding_distinguishes_json_booleans_and_integers(self): + self.add('input.txt','input') + observed={'schema_version':True,'gate':'G5','observed_status':'PASS','run_id':'run-typed', + 'command':['fixture'],'exit_code':False,'inputs':{'r:input.txt':sha(b'input')}} + self.add('observation.json',json.dumps(observed),'data') + status={**observed,'schema_version':1,'exit_code':0,'evidence':self.bind('observation.json')} + self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + +if __name__=='__main__': + unittest.main() + + +class NumericDeclarationRules(unittest.TestCase): + """Numerals cannot suppress declaration/vacuity metadata (A6/A7).""" + + def manifest_entry(self, source, vacuity): + directory = tempfile.TemporaryDirectory() + self.addCleanup(directory.cleanup) + root = Path(directory.name) + data = source.encode('utf-8') + (root / 'Closed.lean').write_bytes(data) + return {'schema_version': 1, + 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], + 'roots': [{'id': 'r', 'path': str(root), 'tree_id': 'b' * 40, + 'tracked_files': ['Closed.lean'], + 'files': {'Closed.lean': {'kind': 'project_lean', + 'sha256': sha(data), 'module': 'lean:Closed', + 'vacuity': vacuity}}}], + 'module_map': {'lean:Closed': 'r:Closed.lean'}} + + def test_numeric_spellings_preserve_adjacent_named_declarations(self): + spellings = ['0', '1_000', '0b0', '0B1', '0o0', '0O7', + '0x0a', '0XAB', '1e1', '1E-1', '1.0E+1', '1.0', '1.'] + for numeral in spellings: + for keyword in ['theorem', 'lemma']: + source = 'def n := ' + numeral + keyword + ' hidden (h : False) : True := False.elim h' + with self.subTest(numeral=numeral, keyword=keyword): + result = source_checks.check_lean(source) + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) + self.assertEqual(result['declarations'][0]['contradictions'], + ['explicit false hypothesis: False']) + + def test_numeric_spellings_preserve_adjacent_anonymous_examples(self): + # Hexadecimal maximal munch would consume the 'e' in example. + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + declarations = source_checks.check_lean( + 'def n := ' + numeral + 'example (h : False) : True := False.elim h')['declarations'] + self.assertEqual([x['key'] for x in declarations], ['example@1']) + self.assertEqual(declarations[0]['contradictions'], ['explicit false hypothesis: False']) + + def test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage(self): + source = 'def n := 0theorem hidden (h : False) : True := False.elim h' + report = auditor.audit(self.manifest_entry(source, {})) + self.assertEqual(report['result'], 'FAIL', report) + self.assertIn('VACUITY_COVERAGE', {f['code'] for f in report['findings']}) + + def test_numeric_adjacency_cannot_mask_false_hypothesis_annotations(self): + source = 'def n := 0theorem hidden (h : False) : True := False.elim h' + annotations = {'hidden@1': {'status': 'conditional', 'premises': ['False'], 'reason': 'test boundary'}} + report = auditor.audit(self.manifest_entry(source, annotations)) + self.assertIn('VACUITY_CONTRADICTION', {f['code'] for f in report['findings']}) + report = auditor.audit(self.manifest_entry( + source, {'hidden@1': {'status': 'vacuous', 'reason': 'explicit False hypothesis'}})) + self.assertEqual(report['result'], 'STATIC_PASS', report) + self.assertEqual(len(report['vacuity_observations']), 1) + + def test_numeral_metadata_preserves_spelling_and_locations(self): + source = 'def a := 0b10\n/- gap\n nested -/ def b := 1.0E+1theorem t : True := True.intro' + tokens, gaps = source_checks.lean_tokens(source) + self.assertEqual(gaps, []) + self.assertEqual([(t.text, t.line, t.column) for t in tokens if t.text in {'0b10', '1.0E+1', 'theorem'}], + [('0b10', 1, 9), ('1.0E+1', 3, 22), ('theorem', 3, 28)]) + + def test_identifier_literal_and_character_boundaries_remain_intact(self): + source = 'def name1 := 1\ndef ns.name2\' := 2\ndef «name3» := "0theorem hidden"\ndef c := \'1\'\ntheorem t2\' : True := True.intro' + result = source_checks.check_lean(source) + self.assertEqual(result['findings'], []) + self.assertEqual([x['key'] for x in result['declarations']], ["t2'@5"]) + words = [t.text for t in source_checks.lean_tokens(source)[0]] + self.assertIn('name1', words) + self.assertIn("ns.name2'", words) + self.assertIn('name3', words) + self.assertEqual(words.count(''), 2) + + def test_numeric_hypothesis_tokens_keep_exact_literal_contradictions(self): + declarations = source_checks.check_lean( + 'theorem literalConflict (h : 1 = 2) : True := True.intro')['declarations'] + self.assertEqual(declarations[0]['hypotheses'], ['1 = 2']) + self.assertEqual(declarations[0]['contradictions'], ['incompatible literal equality candidate: 1 = 2']) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/registration-move-applicability.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/registration-move-applicability.json new file mode 100644 index 000000000..9b849f948 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/registration-move-applicability.json @@ -0,0 +1,8 @@ +{ + "before_sha256": "eea839d76ca3510cb72ca9ebe3a1778c3a768d1e8ce7b0f7500f730a607a47a7", + "after_sha256": "d28d370108b5466f510e540c2e673de2f96e1286aa9d44212728b0c2a8bd7b3c", + "change": "move unchanged unittest.main guard after newly added class", + "all_class_and_function_ASTs_unchanged": true, + "reuse": "completed52affectedmethods and3guardmutants normal/O viaimport/discovery; no52rerun", + "new_check": "direct script NumericDeclarationRules target validates added entry registration" +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/review/design-review.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/review/design-review.json new file mode 100644 index 000000000..7f7b07375 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/review/design-review.json @@ -0,0 +1,26 @@ +{ + "type": "independent_source_design_review", + "reviewed_at": "2026-10-29T20:52:34.731278+00:00", + "scope": "bounded metadata numeral-boundary repair plan; production successor not yet inspected", + "baseline_sha256": { + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818" + }, + "root_cause": "initial digit enters general identifier branch and absorbs theorem/lemma/example, so check_lean declaration/vacuity coverage is empty", + "proposed_change": "reuse canonical_lean._NUMERAL unchanged; separate leading-digit branch retains original numeral Token and exact source position, then normal identifier branch excludes initial digits", + "design_findings": [], + "required_controls": [ + "exact actual audit() bypass payload with missing and false vacuity annotations", + "decimal, fraction, exponent, binary, octal, hexadecimal maximal-munch boundaries", + "internal identifier digits/primes and quoted/string/character benign controls", + "unchanged integer-equality contradiction candidate recognition", + "token positions and declaration keys after comments/newlines", + "source guard mutation restores merged numeral/identifier behavior and must fail by body assertion" + ], + "limits": [ + "not a Lean parser or semantic SAT certificate", + "hex numeral maximal munch may consume leading a-f of a following letter sequence; do not claim every arbitrary suffix is a valid boundary", + "final supplied manifest classifications may need affected-row refresh for newly exposed declarations", + "no mathematical/compiler/check rerun performed" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/review/final-review.json b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/review/final-review.json new file mode 100644 index 000000000..2bc320bd6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/review/final-review.json @@ -0,0 +1,127 @@ +{ + "type": "independent_scoped_source_review", + "reviewed_at": "2026-10-29T20:57:27.468472+00:00", + "verdict": "CLEAR", + "findings": [], + "scope": "exact three changed runtime/test files; seven new metadata controls; mode-bound affected receipts and three new guard mutants; no execution rerun by reviewer", + "source_sha256": { + "source_checks.py": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "mutation_test.py": "e0cc3d77716e143dd374f2a23fc28923b8590e5dffed83e20733cd329553ddeb", + "tests/test_auditor.py": "d28d370108b5466f510e540c2e673de2f96e1286aa9d44212728b0c2a8bd7b3c", + "tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + "resolved_review_finding": { + "issue": "new class originally followed direct unittest.main guard", + "resolution": "unchanged guard moved to module end", + "proof": "evidence/registration-move-applicability.json plus successful direct-entry seven-control log", + "methods_unchanged": true + }, + "source_observations": [ + "Only lean_tokens function changes in source_checks.py: canonical numeral spelling reuse splits leading numeral from following identifier without evaluating it; exact spelling/location remain", + "The canonical lexer, auditor, Python checking functions, contradiction logic and mutation-runner functions are byte- or AST-unchanged", + "All 72 predecessor auditor test method bodies unchanged; seven new methods exercise adjacent theorem/lemma/example, actual manifest coverage/contradiction, locations, literals/identifiers and integer-equality candidates", + "Original57 mutation tuples remain unchanged with unique replacement anchors; exactly3metadata mutation tuples added", + "The27 unaffected auditor methods exercise Python-only or metadata/filesystem/JSON/CLI branches outside changed Lean numeral lexer; unchanged15grader methods remain reusable", + "Prior19+38 scanner kill observations remain separately version-bound and reusable: added numeral branch preserves their previously exercised helper/hazard/import/contradiction routes; no57rerun claimed" + ], + "observed_evidence": { + "normal": { + "baseline_method_count": 52, + "baseline_receipt_sha256": "c8d550bf753f3cd311d14f6410d0db8d5a0981d6d3614523434a6d6dbc339ae3", + "mutants": [ + { + "name": "restore-metadata-generic-numeral-swallowing", + "outcome": "KILLED", + "tests_run": 52, + "assertion_failures": 34, + "errors": 0, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "205f36d36ec9b171a9b4253bdeefa9b7bb15dcbb2fdc367ed395ac3aeb31502d", + "log_sha256": "b80300c0128ac748a631f80f4ef7f34e2ef5e28914e1b0f4a2d9225c1ac15bca" + }, + { + "name": "discard-metadata-numeral-tokens", + "outcome": "KILLED", + "tests_run": 52, + "assertion_failures": 3, + "errors": 0, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "8d6e08c9c42285e890dc6142ceb423c82ab0f3a346cc72dd60a9fb233940fecb", + "log_sha256": "69365dfcad2c249353e4d770f0e7d40e0961ae3c7d915c2597ca95c1886d2ab1" + }, + { + "name": "overshoot-metadata-numeral-boundary", + "outcome": "KILLED", + "tests_run": 52, + "assertion_failures": 36, + "errors": 0, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "1b33eb9f8ecd49587cb234003509edca22fda6d03fc60896528636cf8a0ad810", + "log_sha256": "cf7838bb630202cd030edf178ec43a28111dc896e1d1f1664dade9696e04657c" + } + ] + }, + "optimized": { + "baseline_method_count": 52, + "baseline_receipt_sha256": "6621a3c6de1090cfb67617d86e564a69d24ba7d192b684904aec17e7ba73cc3e", + "mutants": [ + { + "name": "restore-metadata-generic-numeral-swallowing", + "outcome": "KILLED", + "tests_run": 52, + "assertion_failures": 34, + "errors": 0, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "205f36d36ec9b171a9b4253bdeefa9b7bb15dcbb2fdc367ed395ac3aeb31502d", + "log_sha256": "e2a0378ac06e15a5ee2d6bbba247ea786ac6bfccdcabe33d97a8ca5289d931bd" + }, + { + "name": "discard-metadata-numeral-tokens", + "outcome": "KILLED", + "tests_run": 52, + "assertion_failures": 3, + "errors": 0, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "8d6e08c9c42285e890dc6142ceb423c82ab0f3a346cc72dd60a9fb233940fecb", + "log_sha256": "21207ae8451303d4ef6cae513e26d9b1868bd0db27d5ee4fa81608ac485a1dd6" + }, + { + "name": "overshoot-metadata-numeral-boundary", + "outcome": "KILLED", + "tests_run": 52, + "assertion_failures": 36, + "errors": 0, + "original_sha256": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutated_sha256": "1b33eb9f8ecd49587cb234003509edca22fda6d03fc60896528636cf8a0ad810", + "log_sha256": "92bfd97c9e487465707cc1d2d4955acc54cbd3471dd27b8a97153db0a11a94c1" + } + ] + } + }, + "reuse": { + "current_methods": 94, + "fresh_affected_predecessor": 45, + "fresh_new": 7, + "reused_unaffected": 42, + "current_mutations": 60, + "fresh_new_mutations": 3, + "predecessor_mutations_reused": 57, + "fresh_whole_suite": false, + "fresh_whole_mutation_run": false + }, + "preserved_failures": [ + "original numeral-adjacency7controls/34assertion-failure RED", + "initial test-only position22/28 corrected to actual20/26 with priorlog retained", + "outer orchestration sorted-ID admission failure preserved, successful52rawreceipts reused withoutrerun" + ], + "limits": [ + "Actual repository G1 remains NOT_RUN; final exact scope/manifest controller-owned", + "Not a Lean parser, elaborator or semantic SAT solver", + "Hexadecimal maximal munch is canonical; arbitrarysuffixes beginninga-f are not claimed valid command boundaries", + "Changed metadata may require affected retained finding/vacuity manifest rows refresh", + "No hostedCI, Lean compiler/kernel or mathematical rerun performed by this review", + "Existing source-bound verification and provider/process requirements remain separate" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/run_affected.initial.py b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/run_affected.initial.py new file mode 100644 index 000000000..baf9b0422 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/run_affected.initial.py @@ -0,0 +1,49 @@ +"""Finite source-bound campaign; runs only changed Lean metadata integration.""" +import ast, hashlib, json, os, subprocess, sys +from datetime import datetime, timezone +from pathlib import Path +HERE=Path(__file__).resolve().parent +ROOT=HERE/'proposed' +OUT=HERE/'evidence' + +def sha(p): return hashlib.sha256(p.read_bytes()).hexdigest() + +def check(cond, why): + if not cond: raise RuntimeError(why) + +sys.path.insert(0,str(ROOT)) +import mutation_test +prior=json.loads((ROOT/'evidence/lexer698-admission.json').read_text()) +old_methods=prior['affected_results']['selected_methods'] +old_ids=[x['id'] if isinstance(x,dict) else x for x in old_methods] +module=ast.parse((ROOT/'tests/test_auditor.py').read_text()) +new_ids=['test_auditor.NumericDeclarationRules.'+x.name for cls in module.body if isinstance(cls,ast.ClassDef) and cls.name=='NumericDeclarationRules' for x in cls.body if isinstance(x,ast.FunctionDef) and x.name.startswith('test_')] +selected=old_ids+new_ids +check(len(old_ids)==45 and len(new_ids)==7 and len(set(selected))==52,'wrong selected population') +source_files=['source_checks.py','auditor.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py'] +bindings={x:sha(ROOT/x) for x in source_files} +mode='optimized' if sys.flags.optimize else 'normal' +mode_dir=OUT/mode;mode_dir.mkdir(parents=True,exist_ok=True) +start=datetime.now(timezone.utc).isoformat() +cmd=[sys.executable]+(['-O'] if sys.flags.optimize else [])+['-B','-S',str(ROOT/'mutation_test.py'),'--internal-test-runner','--test-root',str(ROOT/'tests'),'--output',str(mode_dir/'affected-baseline.json')] +for test in selected:cmd.extend(['--test',test]) +env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' +p=subprocess.run(cmd,cwd=ROOT,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) +(mode_dir/'affected-baseline.log').write_text(p.stdout) +v=json.loads((mode_dir/'affected-baseline.json').read_text());outcome=mutation_test.classify_test_result(v,p.returncode,expected_ids=sorted(selected)) +check(outcome=='SURVIVED' and v['tests_run']==52,'affected baseline did not pass') +new_names=[row[0] for row in json.loads((HERE/'new-mutants.json').read_text())] +mutants=[] +for name,filename,old,new in mutation_test.MUTATIONS: + if name not in new_names:continue + def change(s,old=old,new=new): + check(s.count(old)==1,'mutation target count '+name) + return s.replace(old,new,1) + result=mutation_test.run_one(name,filename,change,mode_dir/'mutants',tests=selected) + mutants.append(result) + check(result['outcome']=='KILLED' and result['errors']==0,'source mutant not killed '+name) +check(len(mutants)==3,'wrong new mutation count') +check(bindings=={x:sha(ROOT/x) for x in source_files},'source changed during campaign') +result={'mode':mode,'started_utc':start,'ended_utc':datetime.now(timezone.utc).isoformat(),'selected_methods':selected,'new_methods':new_ids,'fresh_methods':52,'affected_predecessor_methods':45,'new_method_count':7,'bindings':bindings,'baseline':{'command':cmd,'returncode':p.returncode,'outcome':outcome,'receipt':'affected-baseline.json','receipt_sha256':sha(mode_dir/'affected-baseline.json'),'log_sha256':sha(mode_dir/'affected-baseline.log')},'new_source_mutants':mutants,'mutant_count':3,'declared_mutant_count':len(mutation_test.MUTATIONS),'claim':'affected Lean metadata methods and3new guards only; no full G0/Lean/project replay'} +(mode_dir/'campaign.json').write_text(json.dumps(result,indent=2)+'\n') +print(json.dumps({'mode':mode,'tests':v['tests_run'],'new_guards':[{k:m[k] for k in ['name','outcome','tests_run','assertion_failures','errors']} for m in mutants]})) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/run_affected.recorded.py b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/run_affected.recorded.py new file mode 100644 index 000000000..36815c41c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/run_affected.recorded.py @@ -0,0 +1,64 @@ +"""Finite source-bound campaign; runs only changed Lean metadata integration.""" +import ast, hashlib, json, os, subprocess, sys +from datetime import datetime, timezone +from pathlib import Path +HERE=Path(__file__).resolve().parent +ROOT=HERE/'proposed' +OUT=HERE/'evidence' + +def sha(p): return hashlib.sha256(p.read_bytes()).hexdigest() + +def check(cond, why): + if not cond: raise RuntimeError(why) + +sys.path.insert(0,str(ROOT)) +import mutation_test +prior=json.loads((ROOT/'evidence/lexer698-admission.json').read_text()) +old_methods=prior['affected_results']['selected_methods'] +old_ids=[x['id'] if isinstance(x,dict) else x for x in old_methods] +module=ast.parse((ROOT/'tests/test_auditor.py').read_text()) +new_ids=['test_auditor.NumericDeclarationRules.'+x.name for cls in module.body if isinstance(cls,ast.ClassDef) and cls.name=='NumericDeclarationRules' for x in cls.body if isinstance(x,ast.FunctionDef) and x.name.startswith('test_')] +selected=old_ids+new_ids +check(len(old_ids)==45 and len(new_ids)==7 and len(set(selected))==52,'wrong selected population') +source_files=['source_checks.py','auditor.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py'] +bindings={x:sha(ROOT/x) for x in source_files} +mode='optimized' if sys.flags.optimize else 'normal' +mode_dir=OUT/mode;mode_dir.mkdir(parents=True,exist_ok=True) +start=datetime.now(timezone.utc).isoformat() +cmd=[sys.executable]+(['-O'] if sys.flags.optimize else [])+['-B','-S',str(ROOT/'mutation_test.py'),'--internal-test-runner','--test-root',str(ROOT/'tests'),'--output',str(mode_dir/'affected-baseline.json')] +for test in selected:cmd.extend(['--test',test]) +env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' +if (mode_dir/'affected-baseline.json').exists(): + v=json.loads((mode_dir/'affected-baseline.json').read_text()) + code=0 if v.get('successful') else 1 + baseline_reused=True +else: + p=subprocess.run(cmd,cwd=ROOT,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + (mode_dir/'affected-baseline.log').write_text(p.stdout) + v=json.loads((mode_dir/'affected-baseline.json').read_text()) + code=p.returncode + baseline_reused=False +outcome=mutation_test.classify_test_result(v,code,expected_ids=selected) +check(outcome=='SURVIVED' and v['tests_run']==52,'affected baseline did not pass') +if sys.flags.optimize: + os.environ['PYTHONOPTIMIZE']='1' +else: + os.environ.pop('PYTHONOPTIMIZE',None) +probe=subprocess.run([sys.executable,'-B','-S','-c','import sys; print(sys.flags.optimize)'],env=dict(os.environ),stdout=subprocess.PIPE,text=True,check=True).stdout.strip() +check(probe==('1' if sys.flags.optimize else '0'),'mutation child optimization mismatch') +(mode_dir/'child-optimization-probe.json').write_text(json.dumps({'observed_sys_flags_optimize':int(probe),'PYTHONOPTIMIZE':os.environ.get('PYTHONOPTIMIZE'),'command':[sys.executable,'-B','-S','-c','import sys; print(sys.flags.optimize)']},indent=2)+'\n') +new_names=[row[0] for row in json.loads((HERE/'new-mutants.json').read_text())] +mutants=[] +for name,filename,old,new in mutation_test.MUTATIONS: + if name not in new_names:continue + def change(s,old=old,new=new): + check(s.count(old)==1,'mutation target count '+name) + return s.replace(old,new,1) + result=mutation_test.run_one(name,filename,change,mode_dir/'mutants',tests=selected) + mutants.append(result) + check(result['outcome']=='KILLED' and result['errors']==0,'source mutant not killed '+name) +check(len(mutants)==3,'wrong new mutation count') +check(bindings=={x:sha(ROOT/x) for x in source_files},'source changed during campaign') +result={'mode':mode,'started_utc':start,'ended_utc':datetime.now(timezone.utc).isoformat(),'selected_methods':selected,'new_methods':new_ids,'fresh_methods':52,'affected_predecessor_methods':45,'new_method_count':7,'bindings':bindings,'baseline':{'command':cmd,'returncode':code,'outcome':outcome,'reused_completed_baseline':baseline_reused,'receipt':'affected-baseline.json','receipt_sha256':sha(mode_dir/'affected-baseline.json'),'log_sha256':sha(mode_dir/'affected-baseline.log')},'new_source_mutants':mutants,'mutant_count':3,'declared_mutant_count':len(mutation_test.MUTATIONS),'claim':'affected Lean metadata methods and3new guards only; no full G0/Lean/project replay'} +(mode_dir/'campaign.json').write_text(json.dumps(result,indent=2)+'\n') +print(json.dumps({'mode':mode,'tests':v['tests_run'],'new_guards':[{k:m[k] for k in ['name','outcome','tests_run','assertion_failures','errors']} for m in mutants]})) diff --git a/cbz/contributions/math514/layer_a/evidence/declaration-numeric/test_auditor-before-registration-move.py b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/test_auditor-before-registration-move.py new file mode 100644 index 000000000..cf4e376ea --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/declaration-numeric/test_auditor-before-registration-move.py @@ -0,0 +1,770 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_canonical_metadata_and_error_channels_fail_closed(self): + from unittest.mock import patch + with patch.object(source_checks, 'canonical_identifier_tokens', return_value=iter([('x', 1, 1, False, False, '')])): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + def failed_lexing(text, errors): + errors.append((1, 1, 'unsupported canonical lexical region')) + return iter(()) + with patch.object(source_checks, 'canonical_identifier_tokens', failed_lexing): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + + def test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens(self): + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) + self.assertEqual(self.lean_codes('def n := 0x0a\ndef f := 1.0e+1\n'), set()) + + def test_nested_string_placeholder_and_benign_literal_boundaries(self): + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) + self.assertEqual(self.lean_codes('def s := "brace { harmless } and \\"quoted\\""\n'), set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_defined_reflective_loader_forms_fail_in_engineering_scope(self): + cases=["getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')", + "vars()['__builtins__']['__import__']('Q.bad')", + "f.__globals__['__builtins__']['__import__']('Q.bad')", + "().__class__.__base__.__subclasses__()"] + for source in cases: + with self.subTest(source=source): + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) + + def test_import_module_primes_and_identifier_suffixes_are_extracted_completely(self): + result=source_checks.check_lean("import Good Q.Bad' Q.Other! Q.Last?\n") + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) + self.assertEqual(result['findings'],[]) + + def test_unsupported_import_tail_is_a_gap_after_a_valid_prefix(self): + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good Q.«Bad»\n')) + + def test_literal_import_operands_are_explicit_gaps_after_valid_prefix(self): + for operand in ['"Q.Bad"', 'r"Q.Bad"', "'q'"]: + with self.subTest(operand=operand): + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_numeral_adjoining_owned_axiom_cannot_receive_static_pass(self): + # Canonical698's already compiled counterexample; old numeric lexing hides axiom. + source = 'def harmless := 0axiom hiddenPremise : False\ntheorem bad : False := hiddenPremise\n#print axioms bad\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', + vacuity={'bad@2':{'status':'conditional','premises':[], + 'reason':'source statement only; not a witness claim'}}) + result = self.runaudit() + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass(self): + # Lean is a benign mapped import fixture; actual compilation evidence is reused. + self.add('Lean.lean', 'def imported := 1\n', 'project_lean', module='lean:Lean', vacuity={}) + source = 'import Lean\nopen Lean\n\ndef f : CoreM Unit := throwError "bad {let x := "safe"; (sorry : Nat)}"\n#print axioms f\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', vacuity={}) + result = self.runaudit() + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_bound_engineering_review_cannot_waive_defined_reflective_loader(self): + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-r','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py',"getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')",'engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'A nonmath review is not an import-isolation waiver'})) + e['nonmath_review']=self.bind('review.json') + r=self.runaudit() + self.assertEqual(r['result'],'FAIL',r) + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) + + def test_known_unsupported_source_suffix_cannot_claim_a_supported_language(self): + for path,language,text in [('bad.sh','lean','echo hello\n'),('bad.js','python','x=1\n')]: + with self.subTest(path=path): + self.add(path,text,'external_pinned',language=language,module=language+':Bad'+language, + **({'vacuity':{}} if language=='lean' else {}),pin={'revision':'a'*40,'origin':'fixture'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_retained_text_source_requires_language_then_a_registered_module(self): + e=self.add('Q.txt','theorem t : False := by sorry\n','quarantined_source',expected_findings={}, + quarantine={'id':'Q-t','boundary':'Q.txt','blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + e['language']='lean';e['expected_findings']={'LEAN_PLACEHOLDER':1} + self.assertIn('MODULE_ALIAS',self.codes()) + e['module']='lean:Q';self.m['module_map']['lean:Q']='r:Q.txt' + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_mapped_external_text_module_cannot_skip_supported_source_analysis(self): + self.add('fake.txt','Fraction=float','external_pinned',module='python:fractions', + pin={'revision':'a'*40,'origin':'fixture'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_primed_lean_module_after_valid_import_cannot_hide_quarantine(self): + self.add('Good.lean','def x := 1\n','project_lean',module='lean:Good',vacuity={}) + self.add("Q/Bad'.lean",'theorem t : False := by sorry\n','quarantined_source',language='lean',module="lean:Q.Bad'", + expected_findings={'LEAN_PLACEHOLDER':1},quarantine={'id':'Q-p','boundary':"Q/Bad'.lean",'blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.add('Closed.lean',"import Good Q.Bad'\n",'project_lean',module='lean:Closed',vacuity={}) + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_status_observation_binding_distinguishes_json_booleans_and_integers(self): + self.add('input.txt','input') + observed={'schema_version':True,'gate':'G5','observed_status':'PASS','run_id':'run-typed', + 'command':['fixture'],'exit_code':False,'inputs':{'r:input.txt':sha(b'input')}} + self.add('observation.json',json.dumps(observed),'data') + status={**observed,'schema_version':1,'exit_code':0,'evidence':self.bind('observation.json')} + self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + +if __name__=='__main__': + unittest.main() + + +class NumericDeclarationRules(unittest.TestCase): + """Numerals cannot suppress declaration/vacuity metadata (A6/A7).""" + + def manifest_entry(self, source, vacuity): + directory = tempfile.TemporaryDirectory() + self.addCleanup(directory.cleanup) + root = Path(directory.name) + data = source.encode('utf-8') + (root / 'Closed.lean').write_bytes(data) + return {'schema_version': 1, + 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], + 'roots': [{'id': 'r', 'path': str(root), 'tree_id': 'b' * 40, + 'tracked_files': ['Closed.lean'], + 'files': {'Closed.lean': {'kind': 'project_lean', + 'sha256': sha(data), 'module': 'lean:Closed', + 'vacuity': vacuity}}}], + 'module_map': {'lean:Closed': 'r:Closed.lean'}} + + def test_numeric_spellings_preserve_adjacent_named_declarations(self): + spellings = ['0', '1_000', '0b0', '0B1', '0o0', '0O7', + '0x0a', '0XAB', '1e1', '1E-1', '1.0E+1', '1.0', '1.'] + for numeral in spellings: + for keyword in ['theorem', 'lemma']: + source = 'def n := ' + numeral + keyword + ' hidden (h : False) : True := False.elim h' + with self.subTest(numeral=numeral, keyword=keyword): + result = source_checks.check_lean(source) + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) + self.assertEqual(result['declarations'][0]['contradictions'], + ['explicit false hypothesis: False']) + + def test_numeric_spellings_preserve_adjacent_anonymous_examples(self): + # Hexadecimal maximal munch would consume the 'e' in example. + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + declarations = source_checks.check_lean( + 'def n := ' + numeral + 'example (h : False) : True := False.elim h')['declarations'] + self.assertEqual([x['key'] for x in declarations], ['example@1']) + self.assertEqual(declarations[0]['contradictions'], ['explicit false hypothesis: False']) + + def test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage(self): + source = 'def n := 0theorem hidden (h : False) : True := False.elim h' + report = auditor.audit(self.manifest_entry(source, {})) + self.assertEqual(report['result'], 'FAIL', report) + self.assertIn('VACUITY_COVERAGE', {f['code'] for f in report['findings']}) + + def test_numeric_adjacency_cannot_mask_false_hypothesis_annotations(self): + source = 'def n := 0theorem hidden (h : False) : True := False.elim h' + annotations = {'hidden@1': {'status': 'conditional', 'premises': ['False'], 'reason': 'test boundary'}} + report = auditor.audit(self.manifest_entry(source, annotations)) + self.assertIn('VACUITY_CONTRADICTION', {f['code'] for f in report['findings']}) + report = auditor.audit(self.manifest_entry( + source, {'hidden@1': {'status': 'vacuous', 'reason': 'explicit False hypothesis'}})) + self.assertEqual(report['result'], 'STATIC_PASS', report) + self.assertEqual(len(report['vacuity_observations']), 1) + + def test_numeral_metadata_preserves_spelling_and_locations(self): + source = 'def a := 0b10\n/- gap\n nested -/ def b := 1.0E+1theorem t : True := True.intro' + tokens, gaps = source_checks.lean_tokens(source) + self.assertEqual(gaps, []) + self.assertEqual([(t.text, t.line, t.column) for t in tokens if t.text in {'0b10', '1.0E+1', 'theorem'}], + [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]) + + def test_identifier_literal_and_character_boundaries_remain_intact(self): + source = 'def name1 := 1\ndef ns.name2\' := 2\ndef «name3» := "0theorem hidden"\ndef c := \'1\'\ntheorem t2\' : True := True.intro' + result = source_checks.check_lean(source) + self.assertEqual(result['findings'], []) + self.assertEqual([x['key'] for x in result['declarations']], ["t2'@5"]) + words = [t.text for t in source_checks.lean_tokens(source)[0]] + self.assertIn('name1', words) + self.assertIn("ns.name2'", words) + self.assertIn('name3', words) + self.assertEqual(words.count(''), 2) + + def test_numeric_hypothesis_tokens_keep_exact_literal_contradictions(self): + declarations = source_checks.check_lean( + 'theorem literalConflict (h : 1 = 2) : True := True.intro')['declarations'] + self.assertEqual(declarations[0]['hypotheses'], ['1 = 2']) + self.assertEqual(declarations[0]['contradictions'], ['incompatible literal equality candidate: 1 = 2']) diff --git a/cbz/contributions/math514/layer_a/evidence/existing-harness-current-receipt.json b/cbz/contributions/math514/layer_a/evidence/existing-harness-current-receipt.json new file mode 100644 index 000000000..70facfc28 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/existing-harness-current-receipt.json @@ -0,0 +1,30 @@ +{ + "modes": { + "normal": { + "errors": 0, + "failures": 0, + "log": "evidence/lifecycle-existing-harness-normal.log", + "log_sha256": "a5f843c113cd036dc1876267aeab55b0932c41e81bfa56bac123bda3880deb26", + "optimized_children": false, + "tests_run": 3 + }, + "optimized": { + "errors": 0, + "failures": 0, + "log": "evidence/lifecycle-existing-harness-optimized.log", + "log_sha256": "bc287a98102ba59909d3d67a5703831fec5be51e592c408a383878e3ba55e221", + "optimized_children": true, + "tests_run": 3 + } + }, + "reason": "three retained harness methods call changed run_one; current dependency requires affected verification", + "schema_version": 1, + "source_sha256": { + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/final-review-green.log b/cbz/contributions/math514/layer_a/evidence/final-review-green.log new file mode 100644 index 000000000..5bf95620b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/final-review-green.log @@ -0,0 +1,61 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 56 tests in 1.323s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/final-review-identity/SOURCE_COMPOSITION.json b/cbz/contributions/math514/layer_a/evidence/final-review-identity/SOURCE_COMPOSITION.json new file mode 100644 index 000000000..c6290fbe5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/final-review-identity/SOURCE_COMPOSITION.json @@ -0,0 +1,35 @@ +{ + "scope": "Reviewed source composition and registered-method inventory only; no tests/math reexecuted", + "bases": { + "kernel_replay": "15b534674ef9caf78b2ac42c8bebaa8f7faeb238", + "layer_a": "19b8e20a698775bef1813c5ceac91e2be9119bde" + }, + "method_counts": { + "kernel_replay": 67, + "layer_a": 110 + }, + "layer_a_active_mutation_definitions": 68, + "all_current_mutation_anchors_unique": true, + "source_partition_check": "Completed in preceding composition command before its overbroad nested-fixture census assertion; only census scope corrected", + "identity_functions_classes_AST_exact": true, + "manifest_68_MUTATIONS_literal_exact": true, + "identity_review_sha256": "f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4", + "sources": { + "kernel_replay": { + "run_tests.py": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "mutations.py": "a1a0b0e7d6c5809c1f3f291a10aa14edc04265ce73cf76494318f966ab69b9bd", + "kernel_replay.py": "27da13a9455a62c2b192ff62f6222266cb483d323cf680f3d81d3b19b260b8ce", + "tests/test_mutation_harness.py": "c16063e29d3e91b315120f1143ec6763608bb5ed33d90af6fa839f82ed489022", + "ExactReplay.lean": "24e55f5e99c83a46f9f908bbc90f22292a94305294e287d9b2eccbf24e8e6b66" + }, + "layer_a": { + "auditor.py": "309935e125195ae8093ffeb691f9d4c16f6c69e3dbb74b453ed6d50e05be1619", + "source_checks.py": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutation_test.py": "9146cd183a8fcdc93623de20596966b118f3a9e5403d94f74f6be0fe46e4e731", + "tests/test_auditor.py": "73e0b36fe95774af04b433f2de748911625a4ed10cf9f5f46c86249f19707ddc", + "tests/test_mutation_runner.py": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818" + } + }, + "driver_scope_correction": "Earlier provisional source list used nonexistent KernelReplay.lean; actual unchanged driver ExactReplay.lean is explicitly bound here. No Lean/test execution." +} diff --git a/cbz/contributions/math514/layer_a/evidence/final-review-identity/current-composed-admission.json b/cbz/contributions/math514/layer_a/evidence/final-review-identity/current-composed-admission.json new file mode 100644 index 000000000..af01c18f1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/final-review-identity/current-composed-admission.json @@ -0,0 +1,94 @@ +{ + "schema_version": 1, + "record_kind": "SOURCE_BOUND_COMPOSED_COMPONENT_EVIDENCE", + "tool": "layer_a", + "source_parent": { + "commit": "19b8e20a698775bef1813c5ceac91e2be9119bde", + "repository": "d6g8k5htny-coder/main" + }, + "status": "PASS_SCOPED_COMPOSED_COMPONENTS", + "source_bindings": { + "auditor.py": "309935e125195ae8093ffeb691f9d4c16f6c69e3dbb74b453ed6d50e05be1619", + "source_checks.py": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutation_test.py": "9146cd183a8fcdc93623de20596966b118f3a9e5403d94f74f6be0fe46e4e731", + "tests/test_auditor.py": "73e0b36fe95774af04b433f2de748911625a4ed10cf9f5f46c86249f19707ddc", + "tests/test_mutation_runner.py": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818" + }, + "identity_review": { + "path": "evidence/grader-identity-fix/shared/independent-review-final.json", + "sha256": "f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4", + "verdict": "CLEAR_SCOPED_ENGINEERING" + }, + "current_method_inventory": 110, + "full_suite_rerun": false, + "production_mutant_rerun": false, + "new_Lean_runs": 0, + "new_mathematical_checks": 0, + "hosted_CI": "NOT_ASSESSED_BY_METADATA", + "actual_repository_G1": "NOT_RUN", + "identity_component": { + "document": "GRADER_IDENTITY_FIX.md", + "receipt": "evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json", + "new_methods": 7, + "affected_methods_per_mode": 19, + "source_bindings": { + "mutation_test.py": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "tests/test_mutation_runner.py": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866" + }, + "review_status": "CLEAR_SCOPED_ENGINEERING", + "safeguards": { + "distinct_themes_per_tool": 14, + "observations_this_tool": 28, + "observations_both_tools": 56, + "stage_sizes_both_tools": [ + 32, + 8, + 4, + 12 + ], + "all_assertion_killed": true, + "zero_errors": true, + "rule": "Earlier source-bound observations reused after specific predicate/ordinary-source applicability; not a single final-source full campaign", + "production_scanner_or_replay_mutants": false + } + }, + "predecessor_metadata": "evidence/pre-review-identity-metadata/", + "method_inventory_parts": { + "auditor_prior": 79, + "auditor_review_notebook_new": 9, + "harness_prior": 15, + "harness_new_identity": 7 + }, + "active_scanner_mutation_definitions": 68, + "review_boundary": { + "document": "REVIEW_BOUNDARY_FIX.md", + "fresh_methods_per_mode": 19, + "new_methods": 9, + "affected_old_methods": 10, + "new_mutations": 8, + "adapted_mutations": 3, + "killed_per_mode": 11, + "unchanged_mutations_reused": 57, + "source_review": "evidence/review-boundary-fix/review/SOURCE_REVIEW.json", + "source_review_sha256": "6c305b4cf649d7f371d19d65a8230a403e9bf730fa4043eed2418ac4eb5e8081", + "component_source_bindings": "evidence/review-boundary-fix/FINAL_SOURCES.json", + "component_applicability": "evidence/review-boundary-fix/APPLICABILITY.json", + "method_execution_split": "18 applicable predecessor observations plus one freshly checked notebook method per mode", + "mutation_execution_split": "10 applicable prior definitions plus one freshly checked notebook guard per mode", + "notebook_source_review": "evidence/review-boundary-fix/review/NOTEBOOK_SOURCE_REVIEW.json", + "notebook_source_review_sha256": "c2edfdb8825fe655a99963ee9fd387ce1bb34c3f85c3989755ec58b5720759d4", + "current_component_manifest_sha256": "f2ea5ebcdc16478cbd5e3d9e10e2a0ac1344d379bc5f3c5136e890a7ff3a0966" + }, + "numeric_metadata_methods_reused": 52, + "numeric_predecessor_receipt": "evidence/declaration-numeric/current-composed-admission.json", + "source_binding_origin": "evidence/final-review-identity/SOURCE_COMPOSITION.json", + "source_binding_scope": "Actual combined changed/runtime sources listed in Root source-composition-final.json; other retained source-parent objects and predecessor evidence remain exact. This is scoped composition, not a fresh full-suite run.", + "source_composition_record": "evidence/final-review-identity/SOURCE_COMPOSITION.json", + "composition_partition": { + "identity_functions_classes_AST_exact": true, + "manifest_68_MUTATIONS_literal_exact": true, + "evidence": "evidence/final-review-identity/SOURCE_COMPOSITION.json" + }, + "source_composition_record_sha256": "4ae680e692f96730089a369457462066269a0386b50a595936813e39fbdad675" +} diff --git a/cbz/contributions/math514/layer_a/evidence/final-review-red.log b/cbz/contributions/math514/layer_a/evidence/final-review-red.log new file mode 100644 index 000000000..8127acd49 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/final-review-red.log @@ -0,0 +1,117 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ERROR +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ERROR +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... FAIL +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +ERROR: test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 493, in test_binary_source_language_mismatch_is_a_finding_not_a_crash + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + ^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 190, in codes + return {f['code'] for f in self.runaudit()['findings']} + ^^^^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 187, in runaudit + return auditor.audit(self.m) + ^^^^^^^^^^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/auditor.py", line 226, in audit + result=check_lean(text) if language=='lean' else check_python(text, kind!='engineering_python') + ^^^^^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/source_checks.py", line 144, in check_lean + tokens, findings = lean_tokens(text) + ^^^^^^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/source_checks.py", line 24, in lean_tokens + i, line, column, n = 0, 1, 0, len(text) + ^^^^^^^^^ +TypeError: object of type 'NoneType' has no len() + +====================================================================== +ERROR: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 475, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('VACUITY_ANNOTATION',self.codes()) + ^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 190, in codes + return {f['code'] for f in self.runaudit()['findings']} + ^^^^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 187, in runaudit + return auditor.audit(self.m) + ^^^^^^^^^^^^^^^^^^^^^ + File "/workspace/cbz-0/tools/layer_a/auditor.py", line 266, in audit + if not isinstance(a,dict) or a.get('status') not in {'conditional','nonvacuous','vacuous'} or not nonempty(a.get('reason')): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +TypeError: unhashable type: 'list' + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 488, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 96, in test_axiom_audit_print_command_is_not_a_new_axiom_declaration + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) +AssertionError: Items in the first set but not the second: +'LEAN_AXIOM' + +---------------------------------------------------------------------- +Ran 53 tests in 0.352s + +FAILED (failures=2, errors=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log new file mode 100644 index 000000000..dae54d606 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log @@ -0,0 +1,92 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp3bc6i47p', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp3bc6i47p', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i7nsxp12/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '70a80242ffdb24cc8e9d826eae80ccdae8b380b37b94b34f9cfae60344856c2a', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i7nsxp12/tests/test_auditor.py", line 395, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FOUNDATION_PROFILE',self.codes()) +AssertionError: 'FOUNDATION_PROFILE' not found in {'FILE_HASH', 'LEAN_PLACEHOLDER'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.325s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log new file mode 100644 index 000000000..c2ed88726 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1my5agsl/tests/test_auditor.py", line 344, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.329s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log new file mode 100644 index 000000000..f3d0b213b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h3gpv6et/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h3gpv6et/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.337s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log new file mode 100644 index 000000000..382c269cf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1gn4ftpc/tests/test_auditor.py", line 611, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.330s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log new file mode 100644 index 000000000..fe98c6116 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log @@ -0,0 +1,81 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l17uwi43/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in {'PY_INEXACT', 'PY_AST_GAP'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log new file mode 100644 index 000000000..0cc778817 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log @@ -0,0 +1,81 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fx9pmmck/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.345s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log new file mode 100644 index 000000000..7879bd57c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log @@ -0,0 +1,114 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 461, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 492, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 482, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 476, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.326s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log new file mode 100644 index 000000000..3aacaddcf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log @@ -0,0 +1,81 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cjevrso2/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log new file mode 100644 index 000000000..140a31daa --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ua9zu1y5/tests/test_auditor.py", line 557, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ua9zu1y5/tests/test_auditor.py", line 419, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log new file mode 100644 index 000000000..0ec633bc5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wfhk2i9_/tests/test_auditor.py", line 415, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.339s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log new file mode 100644 index 000000000..06ca405c3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h5s93w2y/tests/test_auditor.py", line 526, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.329s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log new file mode 100644 index 000000000..4c7c3d235 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w2z5yidb/tests/test_auditor.py", line 347, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log new file mode 100644 index 000000000..41f69f685 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log @@ -0,0 +1,126 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 67 tests in 0.330s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log new file mode 100644 index 000000000..3c9000576 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-stcy8h8p/tests/test_auditor.py", line 496, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in {'LEAN_AXIOM', 'VACUITY_COVERAGE'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log new file mode 100644 index 000000000..aa726802b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ex4ys5m3/tests/test_auditor.py", line 388, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.331s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log new file mode 100644 index 000000000..ec7aa49a4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') ... FAIL + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-x5vr332e/tests/test_auditor.py", line 292, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-x5vr332e/tests/test_auditor.py", line 292, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log new file mode 100644 index 000000000..126cccca7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log @@ -0,0 +1,403 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 284, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '84d3cff088c5d5c06041b06a5074a6102ee6d59e2a6e5ac407b4bd75cb14cd6b', 'inventory_sha256': {'r': 'da5c483a10a4572334df90f0b7cf8a9e9cae04845b1b459107489dd0ef583c66'}, 'classified_count': 3, 'scanned_count': 3, 'retained_count': 1, 'findings': [{'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic execution/loading cannot establish closed dependency boundary'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: __builtins__'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: __builtins__'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: getattr'}], 'fatal_gaps': [], 'retained_findings': [{'root': 'r', 'path': 'Q/bad.py', 'code': 'PY_INEXACT', 'detail': 'float/complex literal forbidden in mathematical program', 'line': 1}], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/bad.py', 'kind': 'quarantined_source', 'expected_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815', 'actual_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815'}, {'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4', 'actual_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4'}, {'root': 'r', 'path': 'runner.py', 'kind': 'engineering_python', 'expected_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83', 'actual_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83'}]} + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 639, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertEqual(p.returncode,1,p.stderr+p.stdout) +AssertionError: 0 != 1 : { + "claim": "bounded static rules only; not CBZ-0 or mathematical proof closure", + "classified_count": 1, + "fatal_gaps": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "files": [ + { + "actual_sha256": null, + "expected_sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df", + "kind": "documentation", + "path": "readme.txt", + "root": "r" + } + ], + "findings": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "inventory_sha256": { + "r": "091289b475686cf611996d5a2a5654097ef7ffe09099b2b5c02e0b276254cc5c" + }, + "manifest_file_sha256": "204d9811a0dbd2c26f3f85ed39cb20c70ceda52f1440b39086de1a341e955818", + "manifest_sha256": "501cf0a7dcf646e8ccbc596bcbe9afa2f9766d407b234050c342912a75e7e589", + "remaining_obligations": [ + { + "gate": "G2", + "required_work": "All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound." + }, + { + "gate": "G3", + "required_work": "Actual Lean build and no sorry warnings; source scanning does not execute Lean." + }, + { + "gate": "G4", + "required_work": "Kernel recheck every closed declaration and all bound binary proof objects." + }, + { + "gate": "G5", + "required_work": "Execute retained regression tests; source profile does not establish runtime success or historical test retention." + }, + { + "gate": "G7", + "required_work": "Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency." + }, + { + "gate": "G8", + "required_work": "Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength." + }, + { + "gate": "G10", + "required_work": "Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git." + } + ], + "result": "STATIC_PASS", + "retained_count": 0, + "retained_findings": [], + "scanned_count": 0, + "schema_version": 1, + "vacuity_observations": [] +} + + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd0ab9628173d2084c00ce0faaa122dd57b9c255fe54f8a9b873418ef93fc6557', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '45373ad876514d1b7d056686f19fe3f7532b85eae5232e231dfd80d2a22ab08f', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f14036be378445b928156e2faba4bb841c5aa481ce8a4b86fa816d998f8a4b9d', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'MODULE_ALIAS', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'module identity must be a string'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c5327285308788a74f2bdbcd287da883938f1206828edb13f0903c9c25852a84', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'content differs from manifest pin'}, {'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'missing or malformed SHA256'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': None, 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '83b30ab93ca281ad096bf3a15f51332e19b44b7e22501f89d53ca0eddd35834e', 'inventory_sha256': {}, 'classified_count': 0, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '72c921c40dec38f08cd5973b073c3209064750ae763ea21e911ffc8041f40043', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8b5b1a677293071789c0561324d705e16be182c069bf438e36f0b3f5903df81d', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FOUNDATION_PROFILE', 'root': '', 'path': '', 'line': 0, 'detail': 'approved imported axiom set must be exactly propext, Classical.choice, Quot.sound'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd39c8f995b98434bd1e09ff339b7496dfb0c66fb4dc78bae196f0de04d5cd3a9', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f0c7f84d2c2c35981cb920b5ab5197ac75be6b5efe5c9c225c6a7ba570f96ef7', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_KERNEL_BYPASS', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unchecked environment declaration insertion: Environment.addDeclWithoutChecking'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'cf19f128aecbbc37cd3dce2297434b786f982e046f9c19839d3f2c27a5bf3f72', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_KERNEL_BYPASS', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unchecked environment declaration insertion: Environment.addDeclWithoutChecking'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2f579af2fa0bd4674cd2443fabc622327c78bd375f08071e5a4d547f7b6cdf58', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_PLACEHOLDER', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'sorryAx'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1957631e84f1f81cbc2de068301e500f701654e21ae3e9de4f80dbe156e01406', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: Lean.ofReduceBool'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b71e06c1ae03908a02f636eb72c85039eac85ce924fce5a42e766e2ded6fa559', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a1ce210307c3958f2034f166975ef362bc4b8d91a1bca4b7f3be3e37cab6fe7c', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8436c63addb252fce0b1a5c1c8f15cf0cc66da156d5694187965cab770a220b8', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '4b6681f16edb4952ccd884c7eb21d139eed9cf4510e81e27bb59d5f4ec0a487f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unsupported or unterminated character literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unsupported or unterminated character literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2c3b5684ba683a0331cc9f2db269fec8c90b8ff52a2b6ce5e9c65bcbce0a7f04', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated nested block comment'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated nested block comment'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '369785c1a65720d7cedfcee45025d5c8ed19cba4428308cca3a23a931e50f7cc', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated string literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated string literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6a936d906936be4f1e8bdc4e6ec894de2146099599181225b878b8b2ba083ceb', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated raw string literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated raw string literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f238b948fb0341b2f00fa5c902790678ae44435a6c7c9f1da6acf1390a64a212', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated escaped identifier'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated escaped identifier'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +---------------------------------------------------------------------- +Ran 67 tests in 0.227s + +FAILED (failures=22) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log new file mode 100644 index 000000000..62477a2dc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log @@ -0,0 +1,75 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 70 tests in 1.346s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..6bba20067 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log @@ -0,0 +1,81 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-iq8ml23e/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.330s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log new file mode 100644 index 000000000..68ef881fe --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fyb0d2z6/tests/test_auditor.py", line 323, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.326s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log new file mode 100644 index 000000000..befb0d6f5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log @@ -0,0 +1,125 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 498, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.338s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log new file mode 100644 index 000000000..62b6dbefb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zdnh3a2d/tests/test_auditor.py", line 584, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zdnh3a2d/tests/test_auditor.py", line 393, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in {'LEAN_PLACEHOLDER'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.333s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log new file mode 100644 index 000000000..338ee2a1c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log @@ -0,0 +1,315 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=27) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log new file mode 100644 index 000000000..96e1975aa --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k9rtb34l/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k9rtb34l/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.334s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log new file mode 100644 index 000000000..b4fce967a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log @@ -0,0 +1,126 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.328s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log new file mode 100644 index 000000000..57534e5ea --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log @@ -0,0 +1,254 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7a938678133e187e1ae4a4943cf1b733dcd018ba3d85623621ae45a0ac468ee6', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e50d451ad6d5cdf3aa30cbf59a0c35d5998abbdcd4987381fae35975e1506d17', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'feb9178546775f1e03bd2b922b0dcb6eec34ddb08e5b674f2ccb127319859faf', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'fe5a601655d67bb9007de43ecc10c33a787143e14db49ebb24dce3457f687f94', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.334s + +FAILED (failures=19) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log new file mode 100644 index 000000000..dd733941b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log @@ -0,0 +1,230 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 339, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 584, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 440, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6087f044af5d8c3e8313125ac88fd1749b799cbb3afabba605a79b981de76372', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 448, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'fa5871565039fc4e51127c83672d7d34c07a69cb68d2ae04d1ab8139a3c2dfdc', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1aa3fa89dcd368f4804e6b9c9cd71abcfb676394c829ecc51561c18989cd4289', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 301, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2a426ea940ee6ceaeb9e5554fb4cab34d375ff9fa4747ac322eff4dd7308ce9e', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 182, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=17) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log new file mode 100644 index 000000000..c57cacd51 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="f.__globals__['__builtins__']['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()') ... FAIL +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="f.__globals__['__builtins__']['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ouolaw9d/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ouolaw9d/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.348s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log new file mode 100644 index 000000000..ba9ff65f2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log @@ -0,0 +1,132 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '88fcaf47453915d652dc5d05e438e7ec14e61e3715627e9bed41525bd356bf7b', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8732c7911179a7b1ed8d91d6b1e38e8f3e809275c82f368a008e8b4b48345865', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.338s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log new file mode 100644 index 000000000..779dfc3b2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log @@ -0,0 +1,179 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'cdb004c92232b195c23807ed3206393136f3e096a63e5c80c7c1be6e289debcb', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8694535d754bdf6d3f404f7615c1df216faf5b238ec9895f83f3aa208427234f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '109c2b999c43996dcac53ba46036e153f7620f5ed619fd8aa0d75ca629e05726', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.339s + +FAILED (failures=11) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log new file mode 100644 index 000000000..907f4bcdd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log @@ -0,0 +1,128 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 461, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 465, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 195, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: [] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 4 additional elements. +First extra element 0: +'Good' + +- [] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 115, in test_lean_explicit_imports_are_extracted_across_lines + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) +AssertionError: Lists differ: [] != ['Closed.Base', 'Closed.A', 'Closed.B'] + +Second list contains 3 additional elements. +First extra element 0: +'Closed.Base' + +- [] ++ ['Closed.Base', 'Closed.A', 'Closed.B'] + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log new file mode 100644 index 000000000..ce1380d07 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log @@ -0,0 +1,99 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b1p3khyw/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b1p3khyw/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b1p3khyw/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.334s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log new file mode 100644 index 000000000..edf0ecfaf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ejdsfw2y/tests/test_auditor.py", line 492, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.339s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log new file mode 100644 index 000000000..2c95051fd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log @@ -0,0 +1,651 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... FAIL +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... FAIL +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... FAIL +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') ... FAIL + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... FAIL +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 415, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 557, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 502, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 616, in test_binary_source_language_mismatch_is_a_finding_not_a_crash + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 285, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 571, in test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 640, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 461, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 355, in test_duplicate_scope_and_unknown_schema_keys_are_rejected + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 339, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 361, in test_empty_scope_cannot_manufacture_green + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 492, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 425, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 611, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 578, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 496, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 584, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 482, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 292, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 292, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 598, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('VACUITY_ANNOTATION',self.codes()) +AssertionError: 'VACUITY_ANNOTATION' not found in set() + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 307, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 366, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_MISSING',self.codes()) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 567, in test_modules_cannot_point_to_documentation_in_place_of_source + self.assertIn('MODULE_ALIAS',self.codes()) +AssertionError: 'MODULE_ALIAS' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 444, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 526, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 393, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in set() + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 476, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 450, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 297, in test_retained_text_source_requires_language_then_a_registered_module + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 419, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 323, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 533, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 344, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 465, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 515, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 388, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.231s + +FAILED (failures=68) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log new file mode 100644 index 000000000..614a678a0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log @@ -0,0 +1,756 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') ... FAIL +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 339, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 498, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 584, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 440, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c14066a1a20fa82ffe6a6e708d40e1c3e03f833cd3b077e276c4b20b19b3e00e', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 448, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '223f2ed9f47714b81b45f4a6f467cb3859fe9e66a57ba4b5699c382d287b6ebf', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7150980730169270c7ff5639934bfee008ece5544fc563a3820bc31d107710b9', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '850ca38b142f9d7d451b8075f14f62ed73e774c9d2eb939726a728f1280885bf', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '15ac4a755fe5de3dc6900435aeb31b1cc242108478a766c6cadb3b6c196e4a35', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'bb8d35a648a362b1eaad4951597b72730c9db3a90559d30deef9d8305a87fc0e', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '58dcd07d28f5c504c168421eb5e167796c8330d53556a4f82f7093b081baf889', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c8086b726610d819e7193f6d5fc497a5987dcaca0a0461c5de0f027f3ba1e283', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7f3de2d9c20c8194812bcd6b2385e152c32b6d09488e4d64ada70687520ca1f1', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '997a62c12db8e06a39405f6c20dc948a2947e79ef390ae369a091db6ecdfab77', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6003f3634fd7dc0821a9cf1224a52784e076119dccbf733e538b9fe0d9288d33', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8aa21b042e346e5d2902cd13de794a4a5526368bdd625b9f78829c209b6e1681', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ad0ff2a4ad8e2bebaaff29118ec7df6dee4c96e6281a081e797353caff8a9aec', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '855c1e35514adb860de53e5d6993e1f8a4b4fdeca656175c9d04e5c1753cb7b5', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 301, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6b93ee5d5f03c17c4845dc38adb0626d979039e663ccb410eb4be43a8f27fe68', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_FLOAT_REVIEW_GAP' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 182, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 199, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.344s + +FAILED (failures=72) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log new file mode 100644 index 000000000..07547be80 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0hhs6wmy/tests/test_auditor.py", line 515, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.331s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log new file mode 100644 index 000000000..7f13fffbc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-owwavl1d/tests/test_auditor.py", line 450, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log new file mode 100644 index 000000000..d0f8e2bf9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-guutb59b/tests/test_auditor.py", line 444, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-guutb59b/tests/test_auditor.py", line 453, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.335s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log new file mode 100644 index 000000000..bd3436548 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p8hmkxww/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p8hmkxww/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.338s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log new file mode 100644 index 000000000..e675aa75c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log @@ -0,0 +1,123 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c08547247b708e6560784f9648fe818bcd8084cb60b66ca81819d72cf6f81286', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b568b515bc0dd9beb03d62cadd101871dddee2e2c6e3b6364ce6bd418f128d05', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.333s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log new file mode 100644 index 000000000..509d0357e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log @@ -0,0 +1,101 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="vars()['__builtins__']['__import__']('Q.bad')") ... FAIL +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-r95tq70x/tests/test_auditor.py", line 284, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '9bf0c3e2461911d662b7fb9706bf0014025304288eed4917d8c6debee5bb2efa', 'inventory_sha256': {'r': 'da5c483a10a4572334df90f0b7cf8a9e9cae04845b1b459107489dd0ef583c66'}, 'classified_count': 3, 'scanned_count': 3, 'retained_count': 1, 'findings': [], 'fatal_gaps': [], 'retained_findings': [{'root': 'r', 'path': 'Q/bad.py', 'code': 'PY_INEXACT', 'detail': 'float/complex literal forbidden in mathematical program', 'line': 1}], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/bad.py', 'kind': 'quarantined_source', 'expected_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815', 'actual_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815'}, {'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4', 'actual_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4'}, {'root': 'r', 'path': 'runner.py', 'kind': 'engineering_python', 'expected_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83', 'actual_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83'}]} + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-r95tq70x/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="vars()['__builtins__']['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-r95tq70x/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.341s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log new file mode 100644 index 000000000..05c9b0bbe --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yenmml2e/tests/test_auditor.py", line 611, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yenmml2e/tests/test_auditor.py", line 482, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.328s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log new file mode 100644 index 000000000..ce4f566bb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log @@ -0,0 +1,107 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8rfjteh7/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8rfjteh7/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8rfjteh7/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8rfjteh7/tests/test_auditor.py", line 199, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.330s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log new file mode 100644 index 000000000..f934ddd9c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log @@ -0,0 +1,227 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... FAIL +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 415, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 509, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2bffdf2a374fad6a19525c2276f709317c85347e752e758360c3202f23f776d4', 'inventory_sha256': {'r': 'aae11728cb74dfd305acf778f64540681ea5573c80f1c2e71d1d1861e950f8b8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G2 subject evidence'}, {'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G4 subject evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.olean', 'kind': 'binary_proof', 'expected_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a', 'actual_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a'}]} + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 285, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 461, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 330, in test_complete_manifest_counts_every_file_and_is_deterministic + self.assertEqual(r['classified_count'],2) +AssertionError: 1 != 2 + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 339, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 492, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 429, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5b2adc18a31544f49333cfdd54ce41a19617e136b1d835a6da28878b92122696', 'inventory_sha256': {'r': '9b623248b41671d0cda28e974cdcb807e53e9b29dcc252483131d7426ab650c5'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MODULE_ALIAS', 'root': '', 'path': '', 'line': 0, 'detail': 'module map points outside classified scope: python:timer'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e', 'actual_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e'}]} + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 611, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 482, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 603, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 307, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 594, in test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2770686b1504b0db1be528f2e7a59d6040cb2a1ce978d6d25176eceeb9031568', 'inventory_sha256': {'r': '5b61cf66fce2be9b0fdc1f5f70f9965abdf47586d302ceefa8f2f4469df29aa8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}, {'code': 'VACUITY_EVIDENCE', 'root': 'r', 'path': 'Closed.lean', 'line': 1, 'detail': 'content-bound nonvacuity witness certificate required for t@1'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Closed.lean', 'declaration': 't@1', 'status': 'nonvacuous', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65', 'actual_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65'}]} + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 476, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 323, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 533, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 470, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=18) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log new file mode 100644 index 000000000..eae718978 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l287qjoh/tests/test_auditor.py", line 502, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l287qjoh/tests/test_auditor.py", line 578, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.334s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log new file mode 100644 index 000000000..97157d997 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log @@ -0,0 +1,120 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b908b7e9d62aab46dc648c68dbafb8f66e4a4fec2e2916ec6f6afd8d6e7ed868', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log new file mode 100644 index 000000000..3d258f1e1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0bt73mx7/tests/test_auditor.py", line 307, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.339s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log new file mode 100644 index 000000000..a4f0201b7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wsh38npl/tests/test_auditor.py", line 425, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.338s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log new file mode 100644 index 000000000..4958a1786 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log @@ -0,0 +1,135 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_HASH'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.329s + +FAILED (failures=7) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log new file mode 100644 index 000000000..63d8ef258 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4eij7v9z/tests/test_auditor.py", line 297, in test_retained_text_source_requires_language_then_a_registered_module + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.329s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log new file mode 100644 index 000000000..0b30ba2c7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log @@ -0,0 +1,96 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fvwn3usq/tests/test_auditor.py", line 603, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fvwn3usq/tests/test_auditor.py", line 323, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fvwn3usq/tests/test_auditor.py", line 533, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.323s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log new file mode 100644 index 000000000..a01d396c5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bd3itz_w/tests/test_auditor.py", line 369, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bd3itz_w/tests/test_auditor.py", line 388, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log new file mode 100644 index 000000000..ad25a30ba --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-onlemt23/tests/test_auditor.py", line 517, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_COVERAGE',self.codes()) +AssertionError: 'VACUITY_COVERAGE' not found in {'VACUITY_ANNOTATION'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.323s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log new file mode 100644 index 000000000..0a50bcf2e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log @@ -0,0 +1,95 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3xpdgv48/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'LEAN_IMPORT_GAP'} + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3xpdgv48/tests/test_auditor.py", line 195, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: ['Good'] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 3 additional elements. +First extra element 1: +"Q.Bad'" + +- ['Good'] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +---------------------------------------------------------------------- +Ran 67 tests in 0.333s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final.json b/cbz/contributions/math514/layer_a/evidence/g0-admission-final.json new file mode 100644 index 000000000..e4b8916fc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final.json @@ -0,0 +1,748 @@ +{ + "baseline": { + "assertion_failures": 0, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "-m", + "unittest", + "discover", + "-s", + "/workspace/cbz-0/tools/layer_a/tests", + "-v" + ], + "errors": 0, + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log", + "log_sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546", + "returncode": 0, + "tests_run": 70 + }, + "claim": "finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "/workspace/cbz-0/tools/layer_a/mutation_test.py", + "--output", + "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final.json" + ], + "ended_utc": "2026-10-29T18:08:38.534945+00:00", + "gate": "G0", + "mutants": [ + { + "assertion_failures": 72, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "log_sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089", + "mutated_sha256": "e703ea1df3698d6df11fc27667a3d8f7427dea605a2bb117c7bc81598e4bfb10", + "name": "empty-lean-findings", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "log_sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad", + "mutated_sha256": "f5da7786e5b6414f1e6c469028bf5eec079588ffd08516283315c56a31cba264", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 17, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "log_sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328", + "mutated_sha256": "27dad1ba20178613c169392886d5088b3560eb8e9e825857f013d36ce9311b4a", + "name": "disable-placeholder-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "log_sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc", + "mutated_sha256": "cf0ffc9d029466870832065c5e44ec0ab12f5b4584073dd43d17919ccb90d0fd", + "name": "disable-axiom-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "log_sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736", + "mutated_sha256": "3e343b4125adead71caf8e0118ea89e870df06c4d44c8e843387b97f0ee50e08", + "name": "disable-native-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "log_sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e", + "mutated_sha256": "c1dfac132e805e04aa369c59256b56ff208e0feabff384d32356b5b3b5e970d0", + "name": "disable-unchecked-declaration-refusal", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "log_sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488", + "mutated_sha256": "d400c8e6205ed1fe4bd62ff7ca482e2ded2bf44891c2f9d9f9f1f1ecd7fccbca", + "name": "skip-malformed-character-refusal", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "log_sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0", + "mutated_sha256": "bd88ea1be6e3ca7f55924db8d6c0508dfa6b169285344011a77d3c38e0b49a79", + "name": "miss-escaped-placeholder-helpers", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "log_sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d", + "mutated_sha256": "e30e297691e77d9aad23ab7e1b6087e9f3fd864ad07f13828711b5b083c289a9", + "name": "drop-escaped-constant-normalization", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "log_sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46", + "mutated_sha256": "71ba4a47cbb1b88e1b406fcf5c1aa12725729eb77422a378a376924cf3b19a98", + "name": "miss-multiline-commented-native-config", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "log_sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27", + "mutated_sha256": "5087a4deac94349bb9ab0ed3ff147425f35e5eaa24886c696d835bc520e64ec5", + "name": "disable-macro-gap-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "log_sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d", + "mutated_sha256": "7104259f1468e4bb3207c6badb527c31377f4f75061c55ba6164b7af431fbc29", + "name": "drop-lean-dependencies", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "log_sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4", + "mutated_sha256": "6b50d64b71693b414a88d8695954871d15b7ea1ef20ce631c1a9d50c6cf893ec", + "name": "disable-float-literal-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "log_sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f", + "mutated_sha256": "900f843fa832c44a96855157f777a69e754dadaab01d35ed9f0d061e1c63766b", + "name": "allow-python-division", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94", + "mutated_sha256": "56c9da849e9b13ff4c8259d6a380698db9913c5eeea20ca3f98a8dad8e2a6e49", + "name": "allow-negative-dynamic-powers", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7", + "mutated_sha256": "0f6940e4ebe8fb499ed354e9b55ab198ab93d3e23f9c7227b01d1721d2d86a26", + "name": "allow-unknown-python-calls", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 27, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "log_sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de", + "mutated_sha256": "cde54c7b6c8cf58ffc7502de4e66d37abd9db4c71dc57d114f895cf6e3766e1c", + "name": "disable-exact-python-profile", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "log_sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5", + "mutated_sha256": "28ad54e67290e686da8a2460d344c53dcb6d8e9d44bd3782f9cc487a3fc74bb1", + "name": "allow-reflective-attributes", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836", + "mutated_sha256": "7cf6e55e61db2df9f8e53a2cf1dfb26563305fb92c64ba35c20b935fab282d4c", + "name": "allow-protected-name-rebinding", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "log_sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177", + "mutated_sha256": "575d2b7ba2cc8fd98a46cf259429c8a0fe29e8ba286f18e2249052e5199fd1ae", + "name": "restore-reflective-builtin-loader-gap", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "log_sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9", + "mutated_sha256": "90e657f24ec4358a712073942dfba697412b89beb9b5f75c90fbefe035e5bf48", + "name": "disable-reflective-loader-attributes", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "log_sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9", + "mutated_sha256": "4471994d0c268f39ef2b17edbe881412219d77f8f797e0ab76636f10d09fec4c", + "name": "truncate-primed-lean-imports", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "log_sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4", + "mutated_sha256": "290fb883f7fbc6ccebc556c9aa9e839493116ba6d2adcbf2c86140976bad1aa1", + "name": "silence-unsupported-lean-import-tail", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "log_sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b", + "mutated_sha256": "8d9081e4f8a0898ccf213c8384cad5f4f3d2684942da875ca5d3cd4d4841b591", + "name": "drop-literal-import-operands", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 18, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "log_sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5", + "mutated_sha256": "69e375bc320ca9c6abdea92213403bfd9e12a114301e6a2b6494818e7ccc014e", + "name": "skip-all-but-first-file", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "log_sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889", + "mutated_sha256": "48c96a26ab55f40ede02c74709fb6ebf3335a17f843849f1c921b21e3406c399", + "name": "allow-incomplete-classification", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "log_sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19", + "mutated_sha256": "b84782e338dd822337e2244d634cf2e51aa82c79c4833ae3a621a7ffff99e9ba", + "name": "allow-unknown-classification", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "log_sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb", + "mutated_sha256": "7448dafb9054d2afb3e63b7ff76c7ff1ef489534b69d3d8a4d0634698b3b27d5", + "name": "disable-content-hash-check", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "log_sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea", + "mutated_sha256": "87c24ba07b356e7e364e3127b8971a16052cc5800d298c624b5df91291f6b33f", + "name": "allow-symlink-files", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "log_sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5", + "mutated_sha256": "c2f8571f2282a01b3ea2f55607a3f90a9709adc0ca5ee6ea882bff21a142591a", + "name": "allow-unreadable-files", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "log_sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307", + "mutated_sha256": "61a6f562c034a4f488ad982e414087468bed2b0b6bfb3be2cfc6c3ea40244ec8", + "name": "skip-unreadable-file", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "log_sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f", + "mutated_sha256": "a966ddfd36f30f30278a0bb11e941b6fa4e51b3de359e8b687c88eeb06c0bca7", + "name": "allow-relabeled-source", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "log_sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc", + "mutated_sha256": "607bb74f51e51cc5ee46a0d2295ed3d8ec4e7f2148d6a7030656787cc24e965d", + "name": "skip-retained-text-language-requirement", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "log_sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa", + "mutated_sha256": "e0547a33482dbd4959197807972a0375a36b341bef1e529b6ef5081892eeae56", + "name": "skip-mapped-external-language-requirement", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "log_sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad", + "mutated_sha256": "9ff9077cc4c1d48064801bc58f4c517eebf4268bbe76c4b9ad0484a029d02720", + "name": "allow-unsupported-source-extension-language", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0", + "mutated_sha256": "9a1da07268fbc196c6495d443b104e521c8c6777efd8b41c97d91732600762f6", + "name": "allow-unpinned-external-source", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "log_sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff", + "mutated_sha256": "a0a49c9c1834ffcc896c7fb1b4647e3a6e6ac9861dc4c746e7ada69e55521519", + "name": "skip-nonmath-review", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08", + "mutated_sha256": "5962f12d5e21a42c51dfee0a0e36b08fc026bb8f1749663db160f69e8fedbdaa", + "name": "skip-binary-proof-bindings", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7", + "mutated_sha256": "0ad467e11574af1cec9aca8468bc0c92dbe5ff20a70e8eb2bd13abef6c269c4d", + "name": "ignore-retained-finding-counts", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf", + "mutated_sha256": "c9f8b6957c524f664cfd46989561256d69aebebc76f19d9baa04ed751e7d32f6", + "name": "ignore-quarantine-boundary", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "log_sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f", + "mutated_sha256": "42ffed6fe875e4dd338c529c88c5fb686169f321dd726074ec568533da181a82", + "name": "restore-shadowed-fractions-exemption", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "log_sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df", + "mutated_sha256": "615b24568a15cb997e1fd90a34d8dca843f495aaaea845792f378d182fdc08d3", + "name": "drop-python-submodule-candidates", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "log_sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2", + "mutated_sha256": "590bdfac944636615fa778d6bf15b65d8bf6876e4a691b159ba0faa1697d7c03", + "name": "allow-nonmath-dependency-values", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 7, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "log_sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403", + "mutated_sha256": "b6b81625c837a06e0a873bc91df7e029c6249bcbb7c0e810adb2e2224b5a8b27", + "name": "skip-path-validation", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e", + "mutated_sha256": "3f869d062ddc5004b13fd3a41be7cf30fc09ecd43686c281c1d49db7de5e5f95", + "name": "allow-quarantine-dependency", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5", + "mutated_sha256": "800c195e7c8921678fd2550c76fd7998927e1371b4613165a5324d4cd47ffe74", + "name": "skip-vacuity-coverage", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd", + "mutated_sha256": "e5fb7b3deff8cc149ecb6f53974b07df568c16c798f5420646eb9230840fab4a", + "name": "ignore-contradictory-hypotheses", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993", + "mutated_sha256": "d232b31230cb4f5f9d3e8a144a518e10d62fd1fe9276f95da2b72ad0dee50c8e", + "name": "allow-unbound-nonvacuity", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "log_sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3", + "mutated_sha256": "9192930e190e4adbf064e04dc0decd9efcf833c542939848df5e719c79fe7a3d", + "name": "skip-status-evidence", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "log_sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655", + "mutated_sha256": "3a5046a1453f3d5b2c9ef5fd04127ac2c89d57452f1ac4c1e650dc0f4a81d9ab", + "name": "conflate-status-json-booleans-and-integers", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e", + "mutated_sha256": "0a5b0ff77adaa8364cb1187cb6a638af5b03f1e4097a2e65eb4071b3c6091533", + "name": "allow-arbitrary-foundation-set", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 68, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "log_sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132", + "mutated_sha256": "2456550d625b4153bea1b2083ef2392f1b58920922375c6a5879938f005e47e0", + "name": "empty-final-findings", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 22, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "log_sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5", + "mutated_sha256": "addcfbea27a62bdaf6fc1d8bab2c23943e3d12177bcd521b31fdd35a8856f2a4", + "name": "always-report-static-pass", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + } + ], + "observed_status": "PASS", + "schema_version": 1, + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", + "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T18:08:14.586906+00:00", + "threshold": { + "declared_mutants": 53, + "killed": 53, + "ratio": { + "denominator": 53, + "numerator": 53 + }, + "required_killed": 53, + "rule": "every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-final.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-final.log new file mode 100644 index 000000000..728b0e5f1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-final.log @@ -0,0 +1,54 @@ +empty-lean-findings: KILLED +canonical-unicode-boundary-weakened: KILLED +disable-placeholder-category: KILLED +disable-axiom-category: KILLED +disable-native-category: KILLED +disable-unchecked-declaration-refusal: KILLED +skip-malformed-character-refusal: KILLED +miss-escaped-placeholder-helpers: KILLED +drop-escaped-constant-normalization: KILLED +miss-multiline-commented-native-config: KILLED +disable-macro-gap-category: KILLED +drop-lean-dependencies: KILLED +disable-float-literal-category: KILLED +allow-python-division: KILLED +allow-negative-dynamic-powers: KILLED +allow-unknown-python-calls: KILLED +disable-exact-python-profile: KILLED +allow-reflective-attributes: KILLED +allow-protected-name-rebinding: KILLED +restore-reflective-builtin-loader-gap: KILLED +disable-reflective-loader-attributes: KILLED +truncate-primed-lean-imports: KILLED +silence-unsupported-lean-import-tail: KILLED +drop-literal-import-operands: KILLED +skip-all-but-first-file: KILLED +allow-incomplete-classification: KILLED +allow-unknown-classification: KILLED +disable-content-hash-check: KILLED +allow-symlink-files: KILLED +allow-unreadable-files: KILLED +skip-unreadable-file: KILLED +allow-relabeled-source: KILLED +skip-retained-text-language-requirement: KILLED +skip-mapped-external-language-requirement: KILLED +allow-unsupported-source-extension-language: KILLED +allow-unpinned-external-source: KILLED +skip-nonmath-review: KILLED +skip-binary-proof-bindings: KILLED +ignore-retained-finding-counts: KILLED +ignore-quarantine-boundary: KILLED +restore-shadowed-fractions-exemption: KILLED +drop-python-submodule-candidates: KILLED +allow-nonmath-dependency-values: KILLED +skip-path-validation: KILLED +allow-quarantine-dependency: KILLED +skip-vacuity-coverage: KILLED +ignore-contradictory-hypotheses: KILLED +allow-unbound-nonvacuity: KILLED +skip-status-evidence: KILLED +conflate-status-json-booleans-and-integers: KILLED +allow-arbitrary-foundation-set: KILLED +empty-final-findings: KILLED +always-report-static-pass: KILLED +G0 PASS: 70 baseline tests; 53/53 checker-source mutants killed diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log new file mode 100644 index 000000000..60c6da268 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log @@ -0,0 +1,91 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpbfnlg4vy', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpbfnlg4vy', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w6m7arnr/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '3ff8af89e98a0335a0f1c6a33099713f72cde85fa7d8a5f5fe78036a48c54b4e', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w6m7arnr/tests/test_auditor.py", line 390, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FOUNDATION_PROFILE',self.codes()) +AssertionError: 'FOUNDATION_PROFILE' not found in {'LEAN_PLACEHOLDER', 'FILE_HASH'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.347s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log new file mode 100644 index 000000000..d589dad6e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g9_7ry32/tests/test_auditor.py", line 339, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.324s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log new file mode 100644 index 000000000..0a38fa0b3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log @@ -0,0 +1,89 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wyh_drin/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wyh_drin/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.326s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log new file mode 100644 index 000000000..b8851c96b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hwjbvplu/tests/test_auditor.py", line 606, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.354s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log new file mode 100644 index 000000000..acb544c5f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i4t32792/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in {'PY_INEXACT', 'PY_AST_GAP'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.331s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log new file mode 100644 index 000000000..08b37fb2f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-umuo5vwx/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.333s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log new file mode 100644 index 000000000..2de1699ce --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log @@ -0,0 +1,113 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-07ejr7xl/tests/test_auditor.py", line 456, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Top.lean' +'Mid.lean' + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-07ejr7xl/tests/test_auditor.py", line 487, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-07ejr7xl/tests/test_auditor.py", line 477, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-07ejr7xl/tests/test_auditor.py", line 309, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-07ejr7xl/tests/test_auditor.py", line 471, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.334s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log new file mode 100644 index 000000000..627eff24b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dnhbj4ie/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.324s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log new file mode 100644 index 000000000..67f58a2ec --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log @@ -0,0 +1,87 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e_q_g52o/tests/test_auditor.py", line 552, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e_q_g52o/tests/test_auditor.py", line 414, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.322s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log new file mode 100644 index 000000000..4378c739c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-y1xd_8yu/tests/test_auditor.py", line 410, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.323s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log new file mode 100644 index 000000000..afe7cd471 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b91g47pk/tests/test_auditor.py", line 521, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.337s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log new file mode 100644 index 000000000..6f9dacc6f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gt5t_nmp/tests/test_auditor.py", line 342, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.338s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log new file mode 100644 index 000000000..057e11151 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log @@ -0,0 +1,125 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_4lmohfz/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_4lmohfz/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_4lmohfz/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_4lmohfz/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_4lmohfz/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_4lmohfz/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 66 tests in 0.335s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log new file mode 100644 index 000000000..9932ca054 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dhwhsjy0/tests/test_auditor.py", line 491, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in {'LEAN_AXIOM', 'VACUITY_COVERAGE'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.323s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log new file mode 100644 index 000000000..1592645e8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xjfzp6wp/tests/test_auditor.py", line 383, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.320s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log new file mode 100644 index 000000000..fc5ec12d7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log @@ -0,0 +1,89 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') ... FAIL + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7b5rahu1/tests/test_auditor.py", line 287, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7b5rahu1/tests/test_auditor.py", line 287, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.331s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log new file mode 100644 index 000000000..128a73881 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log @@ -0,0 +1,402 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 279, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e25b0ed8407c163590be9601641d45b588ee3c9eb0c9aab23403a4cb20dfd733', 'inventory_sha256': {'r': 'da5c483a10a4572334df90f0b7cf8a9e9cae04845b1b459107489dd0ef583c66'}, 'classified_count': 3, 'scanned_count': 3, 'retained_count': 1, 'findings': [{'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic execution/loading cannot establish closed dependency boundary'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: __builtins__'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: __builtins__'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: getattr'}], 'fatal_gaps': [], 'retained_findings': [{'root': 'r', 'path': 'Q/bad.py', 'code': 'PY_INEXACT', 'detail': 'float/complex literal forbidden in mathematical program', 'line': 1}], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/bad.py', 'kind': 'quarantined_source', 'expected_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815', 'actual_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815'}, {'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4', 'actual_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4'}, {'root': 'r', 'path': 'runner.py', 'kind': 'engineering_python', 'expected_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83', 'actual_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83'}]} + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 634, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertEqual(p.returncode,1,p.stderr+p.stdout) +AssertionError: 0 != 1 : { + "claim": "bounded static rules only; not CBZ-0 or mathematical proof closure", + "classified_count": 1, + "fatal_gaps": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "files": [ + { + "actual_sha256": null, + "expected_sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df", + "kind": "documentation", + "path": "readme.txt", + "root": "r" + } + ], + "findings": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "inventory_sha256": { + "r": "091289b475686cf611996d5a2a5654097ef7ffe09099b2b5c02e0b276254cc5c" + }, + "manifest_file_sha256": "97993ed9d5efe24d55ffb9170a0e47b1ee34a4da7959816d3d7da2e6be9faf77", + "manifest_sha256": "c6044fba1fd9b62341c3a11da4a15086677c9868ca67626bf4acceed4a3b2582", + "remaining_obligations": [ + { + "gate": "G2", + "required_work": "All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound." + }, + { + "gate": "G3", + "required_work": "Actual Lean build and no sorry warnings; source scanning does not execute Lean." + }, + { + "gate": "G4", + "required_work": "Kernel recheck every closed declaration and all bound binary proof objects." + }, + { + "gate": "G5", + "required_work": "Execute retained regression tests; source profile does not establish runtime success or historical test retention." + }, + { + "gate": "G7", + "required_work": "Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency." + }, + { + "gate": "G8", + "required_work": "Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength." + }, + { + "gate": "G10", + "required_work": "Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git." + } + ], + "result": "STATIC_PASS", + "retained_count": 0, + "retained_findings": [], + "scanned_count": 0, + "schema_version": 1, + "vacuity_observations": [] +} + + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'afc5a2219292266d4d38e5fcbaaaed081e06488b602f4f91475e1920ef72dfd5', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '47abed3b1cd544ed277148f17c537e08862475cfeb99004cc69045a5a290c528', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '49cd689538ff775ce764aa8718c096acd274c1d8f21cd30a7b1f4cf503d32fe0', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'MODULE_ALIAS', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'module identity must be a string'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6c20e9ff6b2c64570504ef44a87701523f86fa53cab12301f5e7ec33a981d9e5', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'content differs from manifest pin'}, {'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'missing or malformed SHA256'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': None, 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '83b30ab93ca281ad096bf3a15f51332e19b44b7e22501f89d53ca0eddd35834e', 'inventory_sha256': {}, 'classified_count': 0, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'bae8bd57b72e70676cf2a0f4bb467fc9ea744874e7c627b934192ddb3cdd6238', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '999355a733b9f92f3f55982be3c89295f87e95dd08f68f8e70b2d1e56161cebd', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FOUNDATION_PROFILE', 'root': '', 'path': '', 'line': 0, 'detail': 'approved imported axiom set must be exactly propext, Classical.choice, Quot.sound'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpdpbytvvo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 547, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd4efa24df8168a92b43728f58a2e72383ff273ff06b47e71941202d41c467143', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'fdf1198f5de4967effe953c6938e4a908b3056620b49ff0a208b7f982cb82592', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_KERNEL_BYPASS', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unchecked environment declaration insertion: Environment.addDeclWithoutChecking'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'bc2cb9abc1d1872b5c7e15909d445e35a971ce05ebf926c1997325c3ce2ee1c6', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_KERNEL_BYPASS', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unchecked environment declaration insertion: Environment.addDeclWithoutChecking'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7438ada4fe8abd63d84ec7b37a6b26654b2cbd49effa308093422a39a4f78d15', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_PLACEHOLDER', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'sorryAx'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '809184644bd395a8065530cd754eb565829c9cf21064c33fb4ce8b5111c2a62f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: Lean.ofReduceBool'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6ca0aa3debd1d10ec7540a7f2514c09323e10f5ed54f6b83ade0e34b7fd39f81', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ca304faba688f2fbbf673c5e3594f25949cd16ce45934b3f314a7102006e4abb', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a66a049a2973f64cdcbba55eed07b40b9c6a697a5cbe29b2c5aed84f4c9d5ddc', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a13ab7092691f3c4180827ddd25043cccc507df97f733db09d0d83eebd5ec6aa', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unsupported or unterminated character literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unsupported or unterminated character literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7ee8dec544776e1ca7cd73fba09546b653d795c1c286dcdf9cbe8fcd31b7fdf8', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated nested block comment'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated nested block comment'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '4191d576dd119a8600e907fd18d68093448349fe1b6b3ea47c47993c2ec70105', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated string literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated string literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e15044633c5bac80326ca36ec2d97f32141c9d50928ddaa8be6db3255bc9b75f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated raw string literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated raw string literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yiqms0ip/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '3bc2308629011a3e7c4290f4de41757203c9f0ce56d5078cc74c82a2b6effde9', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated escaped identifier'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated escaped identifier'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +---------------------------------------------------------------------- +Ran 66 tests in 0.252s + +FAILED (failures=22) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log new file mode 100644 index 000000000..67e158ae7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log @@ -0,0 +1,74 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 69 tests in 1.295s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..967bc8593 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ustapv64/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.322s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log new file mode 100644 index 000000000..d857f0632 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ld5z1mu/tests/test_auditor.py", line 318, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.330s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log new file mode 100644 index 000000000..2506b5056 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log @@ -0,0 +1,124 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9r1givk1/tests/test_auditor.py", line 493, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9r1givk1/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9r1givk1/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9r1givk1/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9r1givk1/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9r1givk1/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.334s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log new file mode 100644 index 000000000..1e28e1e86 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log @@ -0,0 +1,87 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-c4y_p22r/tests/test_auditor.py", line 579, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-c4y_p22r/tests/test_auditor.py", line 388, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in {'LEAN_PLACEHOLDER'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.321s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log new file mode 100644 index 000000000..b1a46eeac --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log @@ -0,0 +1,314 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5qx6xgrt/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 66 tests in 0.327s + +FAILED (failures=27) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log new file mode 100644 index 000000000..88d820752 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log @@ -0,0 +1,89 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-32o4gto9/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-32o4gto9/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.328s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log new file mode 100644 index 000000000..083a9d2ed --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log @@ -0,0 +1,125 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2yj6j5r0/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2yj6j5r0/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2yj6j5r0/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2yj6j5r0/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2yj6j5r0/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2yj6j5r0/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.326s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log new file mode 100644 index 000000000..7d05b593a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log @@ -0,0 +1,253 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '04b79c8eac4cdd8520c6386de509a7c982656a065e83cb106192531319625021', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '329411891c4ac4679d10756e99a579f43170c5375214675dadd6d29a0cf0434f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2ba51d5e21dcb43ce5bf4c9175bb0955b77b3343e9d2c779bce9fd4a782f0a56', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6825b0cacab226020ddae8b5981aed3ad3d481843ddb26470e2c9a47768b91e7', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g4wadhl4/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.326s + +FAILED (failures=19) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log new file mode 100644 index 000000000..b1e8d905c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log @@ -0,0 +1,229 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 334, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 579, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 435, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '79e5affb37f3de544626f6c66da68bb4bc84b66008a6fdfc24cfb1a703b9e630', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 443, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a65fea8340868fd020da9288f07350e4bf605d14734e5d8e46f1eaf29fdbca7f', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ac76dbcdc24fbf4b64542d77e5ae0075b4ca001a499f81b2db9564a9a81a6ce5', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 296, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '49ab0239611e069f23b530f2854309f30f5dfd8404326579482572d3cf77362c', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 182, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-dslsjpap/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.330s + +FAILED (failures=17) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log new file mode 100644 index 000000000..0de2b949e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log @@ -0,0 +1,89 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="f.__globals__['__builtins__']['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()') ... FAIL +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="f.__globals__['__builtins__']['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6560wr2q/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6560wr2q/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.329s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log new file mode 100644 index 000000000..974772f50 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log @@ -0,0 +1,131 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-khetjw77/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e64c9dbfe6911f48d265545ff33f0c00b2103656c9fcbc83d05acc173b6c4762', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-khetjw77/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a87d58c047fe8888208a6e39aaf27c46c5e2615cffef6746dd16d5f7be46c34b', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-khetjw77/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-khetjw77/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-khetjw77/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-khetjw77/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.328s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log new file mode 100644 index 000000000..36c9be926 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log @@ -0,0 +1,178 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '78fb45c3593dee6b7daa2a2b4ddef796b3384a4493c65f2538145cca1bb9a758', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '3a04261b1d0383794a12976c0e6da5de36a2ff924a4455b1899bd23c617b9a65', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b7372dd6979d16e2b3e66fe944cf762e9462699e5b42217a35e2536d047c877f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-73ocbgxr/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.331s + +FAILED (failures=11) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log new file mode 100644 index 000000000..2879dcbf7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log @@ -0,0 +1,127 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-svkfe7v2/tests/test_auditor.py", line 456, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-svkfe7v2/tests/test_auditor.py", line 309, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-svkfe7v2/tests/test_auditor.py", line 460, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-svkfe7v2/tests/test_auditor.py", line 195, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: [] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 4 additional elements. +First extra element 0: +'Good' + +- [] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-svkfe7v2/tests/test_auditor.py", line 115, in test_lean_explicit_imports_are_extracted_across_lines + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) +AssertionError: Lists differ: [] != ['Closed.Base', 'Closed.A', 'Closed.B'] + +Second list contains 3 additional elements. +First extra element 0: +'Closed.Base' + +- [] ++ ['Closed.Base', 'Closed.A', 'Closed.B'] + +---------------------------------------------------------------------- +Ran 66 tests in 0.329s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log new file mode 100644 index 000000000..97c760be8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rq2c1e38/tests/test_auditor.py", line 487, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.336s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log new file mode 100644 index 000000000..6bf4d3735 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log @@ -0,0 +1,650 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... FAIL +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... FAIL +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... FAIL +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') ... FAIL + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... FAIL +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 410, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 552, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 497, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 611, in test_binary_source_language_mismatch_is_a_finding_not_a_crash + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 280, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 566, in test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 635, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 456, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 350, in test_duplicate_scope_and_unknown_schema_keys_are_rejected + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 334, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 356, in test_empty_scope_cannot_manufacture_green + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 487, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 420, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 606, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 573, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 491, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 579, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 477, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 287, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 287, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 548, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 548, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 548, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 548, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 548, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 548, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 548, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpttkseazu', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 548, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 593, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('VACUITY_ANNOTATION',self.codes()) +AssertionError: 'VACUITY_ANNOTATION' not found in set() + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 302, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 361, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_MISSING',self.codes()) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 562, in test_modules_cannot_point_to_documentation_in_place_of_source + self.assertIn('MODULE_ALIAS',self.codes()) +AssertionError: 'MODULE_ALIAS' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 439, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 521, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 388, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in set() + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 309, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 471, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 445, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 269, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 292, in test_retained_text_source_requires_language_then_a_registered_module + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 414, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 318, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 528, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 339, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 460, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 510, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vfnxdulg/tests/test_auditor.py", line 383, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.226s + +FAILED (failures=68) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log new file mode 100644 index 000000000..635b0b086 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log @@ -0,0 +1,728 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 334, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 493, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 579, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 397, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 435, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '4db3b909489d41cd10b99e23597b3dd9680a02dc964bee79002756508744257a', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 443, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'db3a7dc8bf64aa019a9efa78ee3f10cce77e6544d7369ccdce1f163a9a24474d', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b1c5ac19e433ec27408a449252a2bbdf8437995cc37e94afae24aca6f3d30c20', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5a8f4736bd1566fe484cb8b0ca83b5c8620e62afe53b1ca0a633f532ff6e1d60', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a50a76c2d78f479124eca616f0ad95379143a3911c2278531e8dcd9b40c94236', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '35cf43b961befb4feb05b29d53ecd96c4245e60ed9031e710da518b3102b7951', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1ef93a9e927801a01c6311a2db12f8f5f6231ce6523cf560e6241bc9b7d28c97', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd28811a83a44bac815aad12f1c11a9ea11ecf551a7e8a31566c2ecdf9630b0ca', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '639f7f55c8d872ac16a742895a6bea8a02afdf066131620ff28e37ac048ca107', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '23082035f312706a16e3b64f29867874b555c9466254adbd7fd3cad329bac329', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '57d3adb047d39f2bb7665ac0a6238fe3ab5d00e18b0459a056ad5929f6892c34', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a60257135cdc37457b9857494435872b85ec67e641b08264518cb29742610a2f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '059d57f8436de4235f14811b76ebdcf30d893c7f4f31a209372704a41f8f0d0f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'acb0a22262fbc249bce52fa43196600252e36348949be622dc7dd7f64b6a37fb', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 296, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '04b64d24bc3338a7cc96ce5da624b694dd32bc77c918d7cd3945178a74475dd9', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_FLOAT_REVIEW_GAP' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 182, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 199, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-at8okdvb/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.327s + +FAILED (failures=69) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log new file mode 100644 index 000000000..656c552bb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hh9ovz_i/tests/test_auditor.py", line 510, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.326s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log new file mode 100644 index 000000000..98468cf4a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u5b50cer/tests/test_auditor.py", line 445, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.326s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log new file mode 100644 index 000000000..e97387d48 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log @@ -0,0 +1,87 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2v4pp46f/tests/test_auditor.py", line 439, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2v4pp46f/tests/test_auditor.py", line 448, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.330s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log new file mode 100644 index 000000000..8ed68e37f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log @@ -0,0 +1,89 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-oonuovx1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-oonuovx1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.331s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log new file mode 100644 index 000000000..961d5e93a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log @@ -0,0 +1,122 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-o8vldz2d/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '3f887510763f9a0dd19e14854afcada21f7ace3382aabbd7b550ad2edff8e8d5', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-o8vldz2d/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd9bfdb4fa4c12df8468d3a7c80de6fa1f4f1cd6b21be949ebbec6c7ddbb80c83', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-o8vldz2d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-o8vldz2d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-o8vldz2d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.327s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log new file mode 100644 index 000000000..99be2ca97 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log @@ -0,0 +1,100 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="vars()['__builtins__']['__import__']('Q.bad')") ... FAIL +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rbad_1u1/tests/test_auditor.py", line 279, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '69f045df46217f37416afe46781eb7848e4ea040931de630f69fac78cd3d1233', 'inventory_sha256': {'r': 'da5c483a10a4572334df90f0b7cf8a9e9cae04845b1b459107489dd0ef583c66'}, 'classified_count': 3, 'scanned_count': 3, 'retained_count': 1, 'findings': [], 'fatal_gaps': [], 'retained_findings': [{'root': 'r', 'path': 'Q/bad.py', 'code': 'PY_INEXACT', 'detail': 'float/complex literal forbidden in mathematical program', 'line': 1}], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/bad.py', 'kind': 'quarantined_source', 'expected_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815', 'actual_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815'}, {'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4', 'actual_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4'}, {'root': 'r', 'path': 'runner.py', 'kind': 'engineering_python', 'expected_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83', 'actual_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83'}]} + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rbad_1u1/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="vars()['__builtins__']['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rbad_1u1/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.326s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log new file mode 100644 index 000000000..d5c5439bd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log @@ -0,0 +1,87 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7laje0ht/tests/test_auditor.py", line 606, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7laje0ht/tests/test_auditor.py", line 477, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.329s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log new file mode 100644 index 000000000..06c2b9e82 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-mzu64v7w/tests/test_auditor.py", line 199, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.324s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log new file mode 100644 index 000000000..1d620a548 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log @@ -0,0 +1,226 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... FAIL +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 410, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 504, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '26770f0796dbae2042f306c3193e1e9bfaa37e1b2a8822f8c2e60e76380e04a4', 'inventory_sha256': {'r': 'aae11728cb74dfd305acf778f64540681ea5573c80f1c2e71d1d1861e950f8b8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G2 subject evidence'}, {'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G4 subject evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.olean', 'kind': 'binary_proof', 'expected_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a', 'actual_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a'}]} + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 280, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 456, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Top.lean' +'Mid.lean' + +====================================================================== +FAIL: test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 325, in test_complete_manifest_counts_every_file_and_is_deterministic + self.assertEqual(r['classified_count'],2) +AssertionError: 1 != 2 + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 334, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 487, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 424, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b46b9dcfac493c4cc80db7640e4ccdabbb2fb81d7ecf860212e5b2c4fa7c7f50', 'inventory_sha256': {'r': '9b623248b41671d0cda28e974cdcb807e53e9b29dcc252483131d7426ab650c5'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MODULE_ALIAS', 'root': '', 'path': '', 'line': 0, 'detail': 'module map points outside classified scope: python:timer'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e', 'actual_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e'}]} + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 606, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 477, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 598, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 302, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 589, in test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '938fd8d638323e2de19daf835fe4ffa88196d8c32597a84ce9767cb22f06f97e', 'inventory_sha256': {'r': '5b61cf66fce2be9b0fdc1f5f70f9965abdf47586d302ceefa8f2f4469df29aa8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}, {'code': 'VACUITY_EVIDENCE', 'root': 'r', 'path': 'Closed.lean', 'line': 1, 'detail': 'content-bound nonvacuity witness certificate required for t@1'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Closed.lean', 'declaration': 't@1', 'status': 'nonvacuous', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65', 'actual_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65'}]} + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 309, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 471, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 318, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 528, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xfrdu_st/tests/test_auditor.py", line 465, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.324s + +FAILED (failures=18) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log new file mode 100644 index 000000000..a3ede10ae --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log @@ -0,0 +1,87 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qyi6bqsd/tests/test_auditor.py", line 497, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qyi6bqsd/tests/test_auditor.py", line 573, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.336s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log new file mode 100644 index 000000000..4ab3b272d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log @@ -0,0 +1,119 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ix6u13sj/tests/test_auditor.py", line 268, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd7ef961cbedb2416540aa9832b86f649ae3b6cf6a70faf1667c8a0cce31e03cd', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ix6u13sj/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ix6u13sj/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ix6u13sj/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ix6u13sj/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.331s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log new file mode 100644 index 000000000..0939712f6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2zmkrnr_/tests/test_auditor.py", line 302, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.323s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log new file mode 100644 index 000000000..27b189e39 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4rf5t894/tests/test_auditor.py", line 420, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.331s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log new file mode 100644 index 000000000..e6b87042f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log @@ -0,0 +1,134 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s2lq2j3v/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s2lq2j3v/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s2lq2j3v/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_HASH'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s2lq2j3v/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s2lq2j3v/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s2lq2j3v/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s2lq2j3v/tests/test_auditor.py", line 406, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.343s + +FAILED (failures=7) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log new file mode 100644 index 000000000..0587d6afe --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h4gjvma7/tests/test_auditor.py", line 292, in test_retained_text_source_requires_language_then_a_registered_module + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.322s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log new file mode 100644 index 000000000..695faa1e0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log @@ -0,0 +1,95 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrd00ryy/tests/test_auditor.py", line 598, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrd00ryy/tests/test_auditor.py", line 318, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrd00ryy/tests/test_auditor.py", line 528, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.330s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log new file mode 100644 index 000000000..d1fb1d5be --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log @@ -0,0 +1,87 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yauhwk3h/tests/test_auditor.py", line 364, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yauhwk3h/tests/test_auditor.py", line 383, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 66 tests in 0.326s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log new file mode 100644 index 000000000..cc5cc95fe --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hs85p6jw/tests/test_auditor.py", line 512, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_COVERAGE',self.codes()) +AssertionError: 'VACUITY_COVERAGE' not found in {'VACUITY_ANNOTATION'} + +---------------------------------------------------------------------- +Ran 66 tests in 0.332s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log new file mode 100644 index 000000000..fc778babb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log @@ -0,0 +1,94 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1d6vlz9u/tests/test_auditor.py", line 309, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'LEAN_IMPORT_GAP'} + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1d6vlz9u/tests/test_auditor.py", line 195, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: ['Good'] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 3 additional elements. +First extra element 1: +"Q.Bad'" + +- ['Good'] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +---------------------------------------------------------------------- +Ran 66 tests in 0.333s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix.json b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix.json new file mode 100644 index 000000000..4cf3172e7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix.json @@ -0,0 +1,735 @@ +{ + "baseline": { + "assertion_failures": 0, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "-m", + "unittest", + "discover", + "-s", + "/workspace/cbz-0/tools/layer_a/tests", + "-v" + ], + "errors": 0, + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log", + "log_sha256": "035ee585bef84ad7694aa2eaadbd34cbb69e85a4f5dd56671a1ced85863fc7a9", + "returncode": 0, + "tests_run": 69 + }, + "claim": "finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "/workspace/cbz-0/tools/layer_a/mutation_test.py", + "--output", + "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix.json" + ], + "ended_utc": "2026-10-29T18:07:28.791407+00:00", + "gate": "G0", + "mutants": [ + { + "assertion_failures": 69, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "log_sha256": "8fcf3b72380422db6b5dbc24114c708bba98ed5bb3b2f40c173f57f9b0bfaa3b", + "mutated_sha256": "978efd0a66f21cce2b6faaf86e0dd28bf75a65bcf878c3e581404e2bc19acdfe", + "name": "empty-lean-findings", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "log_sha256": "f699bd44c76d815cb331b1c67ff92fbdde95b741ba2338e7d952f2ec8c936982", + "mutated_sha256": "f5da7786e5b6414f1e6c469028bf5eec079588ffd08516283315c56a31cba264", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 17, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "log_sha256": "b02d37e8eb009e184ad2398d9dea0c0dbd84a7fb512d388cbf51b6f8c4578c28", + "mutated_sha256": "42d0f30dd759e63492cdc1b766f5f7de5646aaeb685bd1f2df471ada0ae4c22d", + "name": "disable-placeholder-category", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "log_sha256": "5defe8453000b8075532997bdf321ecc97c4871fea2187ff9523779441248204", + "mutated_sha256": "9458561f57b654da6078a522b72c0b5b3e70d7b8bccc100c05dedab4863f9d7d", + "name": "disable-axiom-category", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "log_sha256": "c44b8ff36fcf9feb5a4ad3aac21159291f9f33544d9587debc012a3daec8f674", + "mutated_sha256": "6208eb75b6e2a8a84a1c230b7bc8c1b43d081f3c41bac2a6dd399f3b0827a23c", + "name": "disable-native-category", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "log_sha256": "a22a6ce8de8ff9ac0ffe2781555a56dad3635a1c8e9852d4f2469e3fc49ae773", + "mutated_sha256": "f5c9be6c5d33710ca17c33a5dff8119fc7428c65f957156a74b043c9b06fdd0f", + "name": "disable-unchecked-declaration-refusal", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "log_sha256": "37cb0baa00a05d3c8524bdb4499362b94fb9ac48e846d1cebbe249d3fae99d68", + "mutated_sha256": "cf00b8bb54c2fdc436b1661d22ffb60efd441629f215dcdce70fd14c39d3e255", + "name": "skip-malformed-character-refusal", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "log_sha256": "b93b1774c9399a062cf572fbe1bf8bb0e0e9a2df3d4629cd7a590d3587df7a7a", + "mutated_sha256": "7f7a10e55013b39b502c7e85699c8b18bd7b28966964d9c00c1941d892b90e54", + "name": "miss-escaped-placeholder-helpers", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "log_sha256": "68a620c649a7a5acf9589261cc8ff48bc3e73b67fe38c1a55bfb4d055c40f85b", + "mutated_sha256": "5a1ac274f6acf540874f66eaf8f7ff9ade730baffb3cff44e398b7966af69ea8", + "name": "drop-escaped-constant-normalization", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "log_sha256": "ed9b92ebbf11c7350cb5b4ac83a5d3f0bf3db1e4a8c2dd11c9e0279ca67a4743", + "mutated_sha256": "42e01bccda50df75f6940d1e82a6b9073ab02ef4a9bccb2078cbfb08ba714b2f", + "name": "miss-multiline-commented-native-config", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "log_sha256": "71f5eb78d9fff4be2bdc93d39db51e6bd9cc15ae7ad8cefb39d3ed5d914915b5", + "mutated_sha256": "da62276941ac4ea38bdc0ce723249edbc51c3209ab89494e0ae2788317bdb2df", + "name": "disable-macro-gap-category", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "log_sha256": "4762ffe147d97bbda08d62aa931579f2d6417463b9fc6d5e06ecc39fcdeeb922", + "mutated_sha256": "911c8418b3816d38d8496b6b240c0cf068723340f770324b0aa42069b08366e5", + "name": "drop-lean-dependencies", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "log_sha256": "ac0ab8b47cc6a1304f497972aba1671a8242adb132c3b34e6b91335af47e5c57", + "mutated_sha256": "31dcc6d33fcbf2828bb383ec14cfc22390d1c592812aa1feb484b98c328dd93e", + "name": "disable-float-literal-category", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "log_sha256": "4bbeea25373dece5b4d3acb87b2ca36516b921e9aa2147994e3c2c6ed06c96c0", + "mutated_sha256": "73ca9b3ab617ee1ecdcbb1ae203a6305044393b3d3d49ee8bbefb31a59ca64d8", + "name": "allow-python-division", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "a9d0ffbdfa02fca8578b54427dd75fd94a88b013e94f31897c05797d9f627067", + "mutated_sha256": "a1b2b016addb63a65a2b8e79bf5c52415267000b846f1f5ed61c0c1ea04709b3", + "name": "allow-negative-dynamic-powers", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "e4d053e0c5e83d1a7ef4767825aecd97b9970b45ac43f89648ad14250cba84ad", + "mutated_sha256": "9c2a2f8c302367d786c178703bffabae799499ee8c80cdaa8774b392f3ebd27b", + "name": "allow-unknown-python-calls", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 27, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "log_sha256": "8a70910a54a4b99065070d00fae2a54759d31ad6c66b5037040bb1721550c56e", + "mutated_sha256": "31d0a9485a6f298bb66d9fade9513b4d266d43aee000c24676abaf99d1ad1f34", + "name": "disable-exact-python-profile", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "log_sha256": "39b1b0e85321a969241316d9b44536461aeac1d4a7f8137882dbd26eceff1529", + "mutated_sha256": "4eac1daa12b5493e5a94679a305570089fedffe470f3923b0c10c1d42347cc0a", + "name": "allow-reflective-attributes", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "d1eaad42ab14edc5c389fdc23e6ed5be0487073c618b30aea97ee583203a5de2", + "mutated_sha256": "66f584117d7fed7a56b574aac9a6cd1a80061aaf660872f173bc44386e82245d", + "name": "allow-protected-name-rebinding", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "log_sha256": "7cea846d09e9b5e3a108078b68c21d9bf99f6ff1d3f2a5b3a3d6f2ad1030e22f", + "mutated_sha256": "fcd6d2023d6fb53fac82458f4e3ea0502d809df56e41fe1cf0eb955630dd3670", + "name": "restore-reflective-builtin-loader-gap", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "log_sha256": "7bd49a32a49acf331192602ecb1bc6adad00d5781446b3e1abcba4130ca99e1d", + "mutated_sha256": "708f29e097edda6db7dd5c5b5bf6c128cc43d1302a4d36aaaaecaefb0f914803", + "name": "disable-reflective-loader-attributes", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "log_sha256": "861755677918792b728691652430fc3882c5fa34f4e4e172038036f6799ef36f", + "mutated_sha256": "b078ef378220e2706aa2578474dea2553a03804feb797945c585241859b671bb", + "name": "truncate-primed-lean-imports", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "log_sha256": "fe104794710a9fcc988ec00fd30cc2f0f673fec9f22096cbde41cd3bf82e0960", + "mutated_sha256": "8a4deb5c49bba3e486cb2d900a92d20c4bbdc2825f30543face0b342c4a8e59f", + "name": "silence-unsupported-lean-import-tail", + "original_sha256": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 18, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "log_sha256": "c09ce61ced302a636076f019ec0820a0972948c9de56dae191dec7752b36b318", + "mutated_sha256": "69e375bc320ca9c6abdea92213403bfd9e12a114301e6a2b6494818e7ccc014e", + "name": "skip-all-but-first-file", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "log_sha256": "d7a9b9db84d49725076312dda126f764663560b93d22d4fba450f0a5beb2dcaa", + "mutated_sha256": "48c96a26ab55f40ede02c74709fb6ebf3335a17f843849f1c921b21e3406c399", + "name": "allow-incomplete-classification", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "log_sha256": "6a1648bad6a0fc958e611409335155e36f5fe755936aa5b1dd20b656511b3aa9", + "mutated_sha256": "b84782e338dd822337e2244d634cf2e51aa82c79c4833ae3a621a7ffff99e9ba", + "name": "allow-unknown-classification", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "log_sha256": "40b6d507b9249f404ee75226b35b504145dffc24c12f0eed0b198d6a2bd8dbb2", + "mutated_sha256": "7448dafb9054d2afb3e63b7ff76c7ff1ef489534b69d3d8a4d0634698b3b27d5", + "name": "disable-content-hash-check", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "log_sha256": "aa95a4514c4bc4d3174f8401b4ec749c1ff73e3de3cd77175f76af49b3f47c83", + "mutated_sha256": "87c24ba07b356e7e364e3127b8971a16052cc5800d298c624b5df91291f6b33f", + "name": "allow-symlink-files", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "log_sha256": "cb8b7c6e0250eef1abef6ac482caebb347501e7630469ebf5bcefe4689de6a77", + "mutated_sha256": "c2f8571f2282a01b3ea2f55607a3f90a9709adc0ca5ee6ea882bff21a142591a", + "name": "allow-unreadable-files", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "log_sha256": "5288f1404f514632ece6db189a89c11f47b8923a632c89a8b2a7018c77cafb85", + "mutated_sha256": "61a6f562c034a4f488ad982e414087468bed2b0b6bfb3be2cfc6c3ea40244ec8", + "name": "skip-unreadable-file", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "log_sha256": "157c43b9aba1c3467a6bd5860f28164ddc77ba029cb35121cdaa7cf0497ab44b", + "mutated_sha256": "a966ddfd36f30f30278a0bb11e941b6fa4e51b3de359e8b687c88eeb06c0bca7", + "name": "allow-relabeled-source", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "log_sha256": "1c789fe8b4a13549591f71cb087b9f7b9283001b80494edc6ac0c3e86a764f8a", + "mutated_sha256": "607bb74f51e51cc5ee46a0d2295ed3d8ec4e7f2148d6a7030656787cc24e965d", + "name": "skip-retained-text-language-requirement", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "log_sha256": "0a8e0c5cdafff4d949cd0dff33a1443f5e8b119406d81b045be591fa07d0d872", + "mutated_sha256": "e0547a33482dbd4959197807972a0375a36b341bef1e529b6ef5081892eeae56", + "name": "skip-mapped-external-language-requirement", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "log_sha256": "bbeeb6f474de7076efea92580432fd8c487cb6073fef42cb0c426ab7e5bb4500", + "mutated_sha256": "9ff9077cc4c1d48064801bc58f4c517eebf4268bbe76c4b9ad0484a029d02720", + "name": "allow-unsupported-source-extension-language", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "b8d8aa0c1d73aa157b9531dd820b6199d74e332dc598c709911767192c7abe15", + "mutated_sha256": "9a1da07268fbc196c6495d443b104e521c8c6777efd8b41c97d91732600762f6", + "name": "allow-unpinned-external-source", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "log_sha256": "b19d8ae22eb35e50ac83d99534281453b209f0d8822fb1875318b5ee1b11fe5d", + "mutated_sha256": "a0a49c9c1834ffcc896c7fb1b4647e3a6e6ac9861dc4c746e7ada69e55521519", + "name": "skip-nonmath-review", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "aefeb71cc2b4d1dc174bc033f2e98f16a23c1170ce95ccaba6df99094842a8f5", + "mutated_sha256": "5962f12d5e21a42c51dfee0a0e36b08fc026bb8f1749663db160f69e8fedbdaa", + "name": "skip-binary-proof-bindings", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "2e0a19abb5fd46ca0926eed2b1d558f816cc999f89ecf0a70906f32f56f11964", + "mutated_sha256": "0ad467e11574af1cec9aca8468bc0c92dbe5ff20a70e8eb2bd13abef6c269c4d", + "name": "ignore-retained-finding-counts", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "4eb19695c95a7b8b26ea9ab56b71687ffea97cd046534e27394dba21eaa51d71", + "mutated_sha256": "c9f8b6957c524f664cfd46989561256d69aebebc76f19d9baa04ed751e7d32f6", + "name": "ignore-quarantine-boundary", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "log_sha256": "2411d93838c00ee16f3f3b9458d36a1b203911a57e38784e855b669d080e6b11", + "mutated_sha256": "42ffed6fe875e4dd338c529c88c5fb686169f321dd726074ec568533da181a82", + "name": "restore-shadowed-fractions-exemption", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "log_sha256": "7ecb303944dd9ebb226f2e492540f04969f595bd0bf678ab1eb6e2733eef5b9e", + "mutated_sha256": "615b24568a15cb997e1fd90a34d8dca843f495aaaea845792f378d182fdc08d3", + "name": "drop-python-submodule-candidates", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "log_sha256": "42e30f674a6a0d4749ed93ffa21338848245cf7a289f2978a64dd5d08ceaf1ec", + "mutated_sha256": "590bdfac944636615fa778d6bf15b65d8bf6876e4a691b159ba0faa1697d7c03", + "name": "allow-nonmath-dependency-values", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 7, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "log_sha256": "b774c68691c606ca5b75e699055173eccf250fd1f314a22fb1a3cfe94e356cee", + "mutated_sha256": "b6b81625c837a06e0a873bc91df7e029c6249bcbb7c0e810adb2e2224b5a8b27", + "name": "skip-path-validation", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "19f7934efc959b9d4cf3c9becd537c3a8789f129263e04d3645a643de9800542", + "mutated_sha256": "3f869d062ddc5004b13fd3a41be7cf30fc09ecd43686c281c1d49db7de5e5f95", + "name": "allow-quarantine-dependency", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "a44a0619efff83a4c27d539f707b940fd5fe3f32df15fd42ab9fdff4c48428c9", + "mutated_sha256": "800c195e7c8921678fd2550c76fd7998927e1371b4613165a5324d4cd47ffe74", + "name": "skip-vacuity-coverage", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "ca0d569d629a4875d91dd6088440e804cbca9899027bc793d3c63f144faf5665", + "mutated_sha256": "e5fb7b3deff8cc149ecb6f53974b07df568c16c798f5420646eb9230840fab4a", + "name": "ignore-contradictory-hypotheses", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "f7bcb92174ec5093451ae2cc035a2f3da96f5b90aae938613701ffbe850c9df0", + "mutated_sha256": "d232b31230cb4f5f9d3e8a144a518e10d62fd1fe9276f95da2b72ad0dee50c8e", + "name": "allow-unbound-nonvacuity", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "log_sha256": "7da893fd6a392a8e9ff02db6f5eb34237dfad9ec6389b9a2f54c90a3344c0da9", + "mutated_sha256": "9192930e190e4adbf064e04dc0decd9efcf833c542939848df5e719c79fe7a3d", + "name": "skip-status-evidence", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "log_sha256": "09044c473fa4937a26756325814c8b4adeb52f5d48359423983008d83a4398fa", + "mutated_sha256": "3a5046a1453f3d5b2c9ef5fd04127ac2c89d57452f1ac4c1e650dc0f4a81d9ab", + "name": "conflate-status-json-booleans-and-integers", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "64e38a3a7c5ad7215a418da61cac96c666ebad04403c332327f20a5e3e847a69", + "mutated_sha256": "0a5b0ff77adaa8364cb1187cb6a638af5b03f1e4097a2e65eb4071b3c6091533", + "name": "allow-arbitrary-foundation-set", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 68, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "log_sha256": "e658a77937a5c9e1921470bb7563caaa342294cd565d328b6a5e90d6db18abd9", + "mutated_sha256": "2456550d625b4153bea1b2083ef2392f1b58920922375c6a5879938f005e47e0", + "name": "empty-final-findings", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + }, + { + "assertion_failures": 22, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "log_sha256": "175c08d799121faabea62c0bb17adb40e426c984a631598a1e40ce3c0b438140", + "mutated_sha256": "addcfbea27a62bdaf6fc1d8bab2c23943e3d12177bcd521b31fdd35a8856f2a4", + "name": "always-report-static-pass", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 66 + } + ], + "observed_status": "PASS", + "schema_version": 1, + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", + "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T18:07:05.508137+00:00", + "threshold": { + "declared_mutants": 52, + "killed": 52, + "ratio": { + "denominator": 52, + "numerator": 52 + }, + "required_killed": 52, + "rule": "every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/g0-admission-fix.log b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix.log new file mode 100644 index 000000000..250f38fdd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-admission-fix.log @@ -0,0 +1,53 @@ +empty-lean-findings: KILLED +canonical-unicode-boundary-weakened: KILLED +disable-placeholder-category: KILLED +disable-axiom-category: KILLED +disable-native-category: KILLED +disable-unchecked-declaration-refusal: KILLED +skip-malformed-character-refusal: KILLED +miss-escaped-placeholder-helpers: KILLED +drop-escaped-constant-normalization: KILLED +miss-multiline-commented-native-config: KILLED +disable-macro-gap-category: KILLED +drop-lean-dependencies: KILLED +disable-float-literal-category: KILLED +allow-python-division: KILLED +allow-negative-dynamic-powers: KILLED +allow-unknown-python-calls: KILLED +disable-exact-python-profile: KILLED +allow-reflective-attributes: KILLED +allow-protected-name-rebinding: KILLED +restore-reflective-builtin-loader-gap: KILLED +disable-reflective-loader-attributes: KILLED +truncate-primed-lean-imports: KILLED +silence-unsupported-lean-import-tail: KILLED +skip-all-but-first-file: KILLED +allow-incomplete-classification: KILLED +allow-unknown-classification: KILLED +disable-content-hash-check: KILLED +allow-symlink-files: KILLED +allow-unreadable-files: KILLED +skip-unreadable-file: KILLED +allow-relabeled-source: KILLED +skip-retained-text-language-requirement: KILLED +skip-mapped-external-language-requirement: KILLED +allow-unsupported-source-extension-language: KILLED +allow-unpinned-external-source: KILLED +skip-nonmath-review: KILLED +skip-binary-proof-bindings: KILLED +ignore-retained-finding-counts: KILLED +ignore-quarantine-boundary: KILLED +restore-shadowed-fractions-exemption: KILLED +drop-python-submodule-candidates: KILLED +allow-nonmath-dependency-values: KILLED +skip-path-validation: KILLED +allow-quarantine-dependency: KILLED +skip-vacuity-coverage: KILLED +ignore-contradictory-hypotheses: KILLED +allow-unbound-nonvacuity: KILLED +skip-status-evidence: KILLED +conflate-status-json-booleans-and-integers: KILLED +allow-arbitrary-foundation-set: KILLED +empty-final-findings: KILLED +always-report-static-pass: KILLED +G0 PASS: 69 baseline tests; 52/52 checker-source mutants killed diff --git a/cbz/contributions/math514/layer_a/evidence/g0-development.json b/cbz/contributions/math514/layer_a/evidence/g0-development.json new file mode 100644 index 000000000..d482767fa --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-development.json @@ -0,0 +1,485 @@ +{ + "baseline": { + "assertion_failures": 0, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "-m", + "unittest", + "discover", + "-s", + "/workspace/cbz-0/tools/layer_a/tests", + "-v" + ], + "errors": 0, + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/baseline.log", + "log_sha256": "9787bdc2fbf84c1f0703e154977d54f707e26afd1bb083ebf49b76f890dad210", + "returncode": 0, + "tests_run": 44 + }, + "claim": "finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "/workspace/cbz-0/tools/layer_a/mutation_test.py", + "--output", + "/workspace/cbz-0/tools/layer_a/evidence/g0-development.json" + ], + "ended_utc": "2026-10-29T17:15:04.623287+00:00", + "gate": "G0", + "mutants": [ + { + "assertion_failures": 31, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/empty-lean-findings.log", + "log_sha256": "7576c1d79c016f9b79e7366d0b3b908b2a2e108c3bca8a97e09052b29443e9e1", + "mutated_sha256": "9136ed3c019460fa5c6b0b847b98055909c9cb94232c31be69bf555eb1511c3e", + "name": "empty-lean-findings", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 9, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-placeholder-category.log", + "log_sha256": "4ef02e777ac56b674b1f1216d83f4fbecc63decd955ebb48e06418f74544e865", + "mutated_sha256": "7a27158209e00ea6ccd084857e2ce2f1c5d4c12cc7bace4c202de5cec728d4d0", + "name": "disable-placeholder-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-axiom-category.log", + "log_sha256": "94857461c7c42a611e6f2b3f45f8f940f68c6dcccbde91df93d1b458355502c2", + "mutated_sha256": "6ce186680fcc17c58dc3ee50f95e6d70a4fa2a1890ce1a2a915e2801421b8093", + "name": "disable-axiom-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 7, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-native-category.log", + "log_sha256": "2941b8826ed23ca6ae18bef9dac3ab822361034d8957ac51e6401a94f597f596", + "mutated_sha256": "0157b384db890b41447301a413a2a0c981b7a148cc90a86d807a759e64ce9b0a", + "name": "disable-native-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-macro-gap-category.log", + "log_sha256": "4a972caa6b6eb3cabda3082c48806ec5bba21fd2723750c359ac870033166c3d", + "mutated_sha256": "4a18905719e88dfe7be00879550d29f43f66aac90fe7acb11d93e69f3f93fa32", + "name": "disable-macro-gap-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/drop-lean-dependencies.log", + "log_sha256": "4a8b00ee3d8b2ccbfdacc84f572e47a850f3bc390c9d4e7049de9aa64ccd6de9", + "mutated_sha256": "cbf136d6b3811e094bd9bcf61534c23420e3ecb1aa7881f82f134015d538732f", + "name": "drop-lean-dependencies", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-float-literal-category.log", + "log_sha256": "85da541886a5ba1782e4b65705d6ceac1214bc11688cdf12d757fa275df78cec", + "mutated_sha256": "0b86ea9da22ec439d3cd2ee09161e49d90cc8276e848ebb9d2a665e7fce3faf9", + "name": "disable-float-literal-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-python-division.log", + "log_sha256": "9f857f58e4aac0c6260aa0353eb9c350eb00e9eb98d07dba983d614f250f7fca", + "mutated_sha256": "ed01d443c30e1a6ce6e44acbd54f3b9550300eb05d977994fb233e641a4c92e4", + "name": "allow-python-division", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "9ba609a6345abbb0ab663372515a585e1154696e3b43a094147aa8d3d682a7f5", + "mutated_sha256": "14376bb99d9f56df5228676251c6d182aea2bc1c331057facbe541d96f73e0ff", + "name": "allow-negative-dynamic-powers", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "6a80076b8f2714631118dc91f64a0c94095391b2ee10bdac7437d535bc7c312f", + "mutated_sha256": "5882b4956393b1533a2a62b73c26f587841fb8bdb1f1794ba8d02e89b5edc5d2", + "name": "allow-unknown-python-calls", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 27, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-exact-python-profile.log", + "log_sha256": "fa861502d03c407660ddabda8b34a633ff10e08f9ed5e0b7ca8e868d7ef9f384", + "mutated_sha256": "d68a0f89eb27b3ab98c1e78ecfcc751a499d8fa4e39b1c34b12fb7e7170225a9", + "name": "disable-exact-python-profile", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-reflective-attributes.log", + "log_sha256": "987ff073401ac3821bd1977ca15a8ec64e28bd0d817c60e015fd6eac41c1c50a", + "mutated_sha256": "546c5c78623ae93b302d1db788b5ec6e1a24a5e534dc1180e322b0a11c00b9f5", + "name": "allow-reflective-attributes", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "9f01de55b9600481209e68dd3545f5fe15e9d249ac0b966e32132a851947a95c", + "mutated_sha256": "4673ad842956656221fbf33663a2e84b9f1cff985d4b3cf1fb5b1d14cf1f9818", + "name": "allow-protected-name-rebinding", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 9, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-all-but-first-file.log", + "log_sha256": "7fd7fed782d14359b21f00d53cf217c8b875c62a444bee5f5c0e110725a7cf3d", + "mutated_sha256": "cc1b966659076bf9d14dc496eda6b45b4f39c1bb5fefddc5893905e66cf2b77f", + "name": "skip-all-but-first-file", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-incomplete-classification.log", + "log_sha256": "7e5feb3807b2019cd8ee998daff064f6202cd7550bd42b9be54f58662e8d554e", + "mutated_sha256": "29da8b7c1b20ad594d4494db77a670f1016e5d14560447640aec43abe410d1fa", + "name": "allow-incomplete-classification", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unknown-classification.log", + "log_sha256": "eb657aff3ab2dc3738347e1a2a64e58a788370f5ba45b2daa3969ea2a1322f2a", + "mutated_sha256": "10b1c15f3236ba0edb737b2a175b0c89654a189430e143d95460d4535903500a", + "name": "allow-unknown-classification", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-content-hash-check.log", + "log_sha256": "d558077c52715b039833a053262ef62bd6252a094aa8f94f25c2654ec7676c9a", + "mutated_sha256": "8c3dbccebad7e2e8ae30e57cb20105c97530c4b9ec0eec47d660f3c147abbdfd", + "name": "disable-content-hash-check", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-symlink-files.log", + "log_sha256": "da95167cc1a5e5968e7253a564777551365a73988dd1d68a2b5df9bac05b56a1", + "mutated_sha256": "c923d9d95fbc15eb72ea313f77cb30f8775aea0524cbb69832bf0b503b3f7c46", + "name": "allow-symlink-files", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unreadable-files.log", + "log_sha256": "678db086095990bcdc4d11bd5f224158c2df0f486dc24aa1cc0d66ada0976502", + "mutated_sha256": "4029425c7ffda611722e1873de72341e9a1a9825cf856a43c079e63bfd9f315b", + "name": "allow-unreadable-files", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-relabeled-source.log", + "log_sha256": "f298e2a47301b6afac96ac332473ab35b437a0b28bd0a8e89906b8002cba26fd", + "mutated_sha256": "7b775c51130b599fa7b3d8541b5ab3c3fb262693aa894f40adcd1c9a008f79ca", + "name": "allow-relabeled-source", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "7291568e358ca70cee2353852860fdb4a2c403faf744a1789f3d97b85720a198", + "mutated_sha256": "42d0204f480c4ee836cdbf8c1ccdfefc652af0729d658f6f193dc502e07d1bac", + "name": "allow-unpinned-external-source", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-nonmath-review.log", + "log_sha256": "5e1d955c67ec0a598f1f3eae5fb95ad719c449c8c0276565c6fa3c3676ac6913", + "mutated_sha256": "c06ba2c051cca47d75c23ac7492ce9c48d9d2ed0b1b139e53fa384eb077b1eab", + "name": "skip-nonmath-review", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "bfbaa2e23f091b81d6082f097a6b5dc27d584dbbdbd06319b7ee5ab69fba7984", + "mutated_sha256": "4ebda859007c49d77ad07eb74d092006b5435e1bbfc4d37fa2fbfeea22c3ec5d", + "name": "skip-binary-proof-bindings", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "813c39f8767e56747fc9b9fb5325c45eae328b2ed24ae6dc7b6d5651d58d8fc3", + "mutated_sha256": "cd2c60fb7f0e3cd9ef19cafd0cd930fd43180e6228596544ce11d347e4346b05", + "name": "ignore-retained-finding-counts", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "5a8b8454f918b7fe041716c7f2d8659505b0c2ab0d18d93b6f30fe3c3f611cc4", + "mutated_sha256": "f1f09230b8a52ae8b104e7d8c93f25c237e4e56bb0edd51f6129b812cf464591", + "name": "ignore-quarantine-boundary", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "1211365a46a517e41425acfbd5012ef152f7fd0cbc050ed255c961eec0e0f425", + "mutated_sha256": "de926c971a08dae7b4adc9e25f60e48bbc1203347e753991eb723f749b103ad3", + "name": "allow-quarantine-dependency", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "073723c75b8fbd5b429c66c9ffe3c9d9bc34cea5b09a7d084d4893900bfe8bdf", + "mutated_sha256": "64368555f9b3d35df00b11073b3cc56206aad84285d7411cb01ff509efe6c658", + "name": "skip-vacuity-coverage", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "131204b7b8c6a1c0478decd4a502269a11fa93fbfaea260bfbf69e31a81a116b", + "mutated_sha256": "1281700669cc2e60daa8a420fb7e1bd3fd0ebf914a9f59d652e3bc226a81dfc5", + "name": "ignore-contradictory-hypotheses", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "51a0d39278e53ded5ea01045686e6fecc243c45e507782b20924a28afdf71c86", + "mutated_sha256": "0f9b6c677dfb8b62f2368c9c0d26de6fdcd098a9fa9e2fc0a24b9e1bae2f9653", + "name": "allow-unbound-nonvacuity", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-status-evidence.log", + "log_sha256": "197bccc4c04f7ed9f964d7c22de0e2b21c69a0e5c49812d0948f5deabe43921b", + "mutated_sha256": "d7d1bf502f06f5cfa7306ba0e7b8c3df24c5869bbe38120bc983268b81a7ad08", + "name": "skip-status-evidence", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "8e1f6fc4b78e2cd8893cf06f35ed6188eaf6317337603b2e928e2805161adaa8", + "mutated_sha256": "1453d93d62d569f66bbf23bfd0345aecc59ad3a2d4aabe394e5541fbaf74b93f", + "name": "allow-arbitrary-foundation-set", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 41, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/empty-final-findings.log", + "log_sha256": "7a9f026fb5274205522680fbe5676e1315a4295fa737f2ac3218199faf6176ec", + "mutated_sha256": "17562c323f6002cde5d80139286434fc8f84e91fa4e379f226d59708f623617f", + "name": "empty-final-findings", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 9, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/always-report-static-pass.log", + "log_sha256": "b19dbc771d4df7667b15e308144d913f9eaa7db0aa57cd7df284ce89b71e7b24", + "mutated_sha256": "63dc2b4c7fba55d7419042522b6cc63b227744d52bc3c4f0ce8aaad58986a7c7", + "name": "always-report-static-pass", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + } + ], + "observed_status": "FAIL", + "schema_version": 1, + "source_sha256": { + "PLAN.md": "2741080f2610004df9da084846f3c1ac3a6c4d33a10c316f273eb1ced69429bc", + "SPEC.md": "b03f20ccc2f2af00e71a2f93a40f310b4ca33b0df3dc14d33c60fad168dbd6af", + "auditor.py": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "mutation_test.py": "166e1d1a695dcf22108e98ac20e580c26a2a9794bb3f58444069ff77cab01970", + "source_checks.py": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "tests/test_auditor.py": "6db9c483cfbea65b8c7810ab49caea1915ed8a87228f265125c8bedb079d9c49", + "tests/test_mutation_runner.py": "66f6eea7589815bcb493acb4e42c5629c811d7b25b85684bf7090ee689771fd8" + }, + "started_utc": "2026-10-29T17:14:54.576337+00:00", + "threshold": { + "declared_mutants": 33, + "killed": 32, + "ratio": { + "denominator": 33, + "numerator": 32 + }, + "required_killed": 33, + "rule": "every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/g0-development.log b/cbz/contributions/math514/layer_a/evidence/g0-development.log new file mode 100644 index 000000000..c9baee6bf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-development.log @@ -0,0 +1,34 @@ +empty-lean-findings: KILLED +disable-placeholder-category: KILLED +disable-axiom-category: KILLED +disable-native-category: KILLED +disable-macro-gap-category: KILLED +drop-lean-dependencies: KILLED +disable-float-literal-category: KILLED +allow-python-division: KILLED +allow-negative-dynamic-powers: KILLED +allow-unknown-python-calls: KILLED +disable-exact-python-profile: KILLED +allow-reflective-attributes: KILLED +allow-protected-name-rebinding: KILLED +skip-all-but-first-file: KILLED +allow-incomplete-classification: KILLED +allow-unknown-classification: KILLED +disable-content-hash-check: KILLED +allow-symlink-files: KILLED +allow-unreadable-files: SURVIVED +allow-relabeled-source: KILLED +allow-unpinned-external-source: KILLED +skip-nonmath-review: KILLED +skip-binary-proof-bindings: KILLED +ignore-retained-finding-counts: KILLED +ignore-quarantine-boundary: KILLED +allow-quarantine-dependency: KILLED +skip-vacuity-coverage: KILLED +ignore-contradictory-hypotheses: KILLED +allow-unbound-nonvacuity: KILLED +skip-status-evidence: KILLED +allow-arbitrary-foundation-set: KILLED +empty-final-findings: KILLED +always-report-static-pass: KILLED +G0 FAIL: 44 baseline tests; 32/33 checker-source mutants killed diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log new file mode 100644 index 000000000..3bc2e8d69 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log @@ -0,0 +1,78 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpwxm1c0es', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpwxm1c0es', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5eflbdi3/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8c513c038ff6eeff85c01052b0f1f91add7a05efbecdb529d48f8ada32c0a72b', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5eflbdi3/tests/test_auditor.py", line 272, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FOUNDATION_PROFILE',self.codes()) +AssertionError: 'FOUNDATION_PROFILE' not found in {'LEAN_PLACEHOLDER', 'FILE_HASH'} + +---------------------------------------------------------------------- +Ran 53 tests in 0.316s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log new file mode 100644 index 000000000..6079103ba --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9gnmngfa/tests/test_auditor.py", line 221, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.467s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log new file mode 100644 index 000000000..ad7370ef2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log @@ -0,0 +1,76 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4y8754_j/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4y8754_j/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.352s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log new file mode 100644 index 000000000..8bc968dee --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rp90z253/tests/test_auditor.py", line 488, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.319s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log new file mode 100644 index 000000000..5561a97a7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log @@ -0,0 +1,67 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5jtb7877/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in {'PY_AST_GAP', 'PY_INEXACT'} + +---------------------------------------------------------------------- +Ran 53 tests in 0.340s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log new file mode 100644 index 000000000..243b72a9d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log @@ -0,0 +1,67 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gpalkxdo/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.352s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log new file mode 100644 index 000000000..0cde1d216 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log @@ -0,0 +1,92 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p9p_cl_v/tests/test_auditor.py", line 338, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Top.lean' +'Mid.lean' + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p9p_cl_v/tests/test_auditor.py", line 369, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p9p_cl_v/tests/test_auditor.py", line 359, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p9p_cl_v/tests/test_auditor.py", line 353, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 53 tests in 0.326s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log new file mode 100644 index 000000000..d6304e6f5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log @@ -0,0 +1,67 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v66nahbs/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.318s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log new file mode 100644 index 000000000..9c0ba9927 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log @@ -0,0 +1,74 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zz2xtcd_/tests/test_auditor.py", line 434, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zz2xtcd_/tests/test_auditor.py", line 296, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.315s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log new file mode 100644 index 000000000..f52086797 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lam5w65z/tests/test_auditor.py", line 292, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.342s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log new file mode 100644 index 000000000..14244a4b8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-isqsgyoe/tests/test_auditor.py", line 403, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.315s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log new file mode 100644 index 000000000..b28e1862c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wgesike4/tests/test_auditor.py", line 224, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.604s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log new file mode 100644 index 000000000..804bfe01a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log @@ -0,0 +1,112 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-isur2884/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-isur2884/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-isur2884/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-isur2884/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-isur2884/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-isur2884/tests/test_auditor.py", line 129, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 53 tests in 0.315s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log new file mode 100644 index 000000000..fc4a3675a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cyjyy8nn/tests/test_auditor.py", line 373, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in {'LEAN_AXIOM', 'VACUITY_COVERAGE'} + +---------------------------------------------------------------------- +Ran 53 tests in 0.327s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log new file mode 100644 index 000000000..334b82a70 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ut4k6ntt/tests/test_auditor.py", line 265, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.401s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log new file mode 100644 index 000000000..41b6d74de --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log @@ -0,0 +1,234 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 516, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertEqual(p.returncode,1,p.stderr+p.stdout) +AssertionError: 0 != 1 : { + "claim": "bounded static rules only; not CBZ-0 or mathematical proof closure", + "classified_count": 1, + "fatal_gaps": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "files": [ + { + "actual_sha256": null, + "expected_sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df", + "kind": "documentation", + "path": "readme.txt", + "root": "r" + } + ], + "findings": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "inventory_sha256": { + "r": "091289b475686cf611996d5a2a5654097ef7ffe09099b2b5c02e0b276254cc5c" + }, + "manifest_file_sha256": "f81e7febe3c3296f1b27257d9401ab8b413d3ec205b4ec0f13a2581e2d60512b", + "manifest_sha256": "a6129ae42452dcaa972d007da4683d7d483cbad11cc1a90a6338b49d4bccf3cb", + "remaining_obligations": [ + { + "gate": "G2", + "required_work": "All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound." + }, + { + "gate": "G3", + "required_work": "Actual Lean build and no sorry warnings; source scanning does not execute Lean." + }, + { + "gate": "G4", + "required_work": "Kernel recheck every closed declaration and all bound binary proof objects." + }, + { + "gate": "G5", + "required_work": "Execute retained regression tests; source profile does not establish runtime success or historical test retention." + }, + { + "gate": "G7", + "required_work": "Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency." + }, + { + "gate": "G8", + "required_work": "Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength." + }, + { + "gate": "G10", + "required_work": "Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git." + } + ], + "result": "STATIC_PASS", + "retained_count": 0, + "retained_findings": [], + "scanned_count": 0, + "schema_version": 1, + "vacuity_observations": [] +} + + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '508f6d6247cee2f05fe310f5b1057251e6974813565446d49285f55584754dc5', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '099ba67ef47c3ea4f3070170d2db86d5a4fe48c2adc454a3e09cd78d488165a0', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1d731de446d93109b728984a01402b2831e959a5a6bf579007fd3d8cfe5d4057', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'MODULE_ALIAS', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'module identity must be a string'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6f2652ca76b45a475c9443bd7e9bbbd0995b72e3f62eb713e80e57e5854ee14d', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'content differs from manifest pin'}, {'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'missing or malformed SHA256'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': None, 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '83b30ab93ca281ad096bf3a15f51332e19b44b7e22501f89d53ca0eddd35834e', 'inventory_sha256': {}, 'classified_count': 0, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '17e844575fbe55d304950ed2face3ef1386098d0b7ed0959797991ea75732170', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ca6dc2d0ba214248d1fd89bfba9499da1b515445ca892a9c5abdee3462a7da62', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FOUNDATION_PROFILE', 'root': '', 'path': '', 'line': 0, 'detail': 'approved imported axiom set must be exactly propext, Classical.choice, Quot.sound'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpwlempn9r', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ah9wzsu/tests/test_auditor.py", line 429, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '97e7af33ddc98f50513f38657993b8cb99ce05cf3b2bd1f6f319a5d321be7b89', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +---------------------------------------------------------------------- +Ran 53 tests in 0.215s + +FAILED (failures=9) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/baseline.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/baseline.log new file mode 100644 index 000000000..7059f8854 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/baseline.log @@ -0,0 +1,61 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 56 tests in 1.261s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..dfcdf3ef7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log @@ -0,0 +1,67 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8f6rfwj_/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.328s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log new file mode 100644 index 000000000..35c3d06b8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log @@ -0,0 +1,111 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ryrau7q/tests/test_auditor.py", line 375, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ryrau7q/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ryrau7q/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ryrau7q/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ryrau7q/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9ryrau7q/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.319s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log new file mode 100644 index 000000000..cf0031925 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log @@ -0,0 +1,74 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_vdtzp7_/tests/test_auditor.py", line 461, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_vdtzp7_/tests/test_auditor.py", line 270, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in {'LEAN_PLACEHOLDER'} + +---------------------------------------------------------------------- +Ran 53 tests in 0.392s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log new file mode 100644 index 000000000..1b4e5f351 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log @@ -0,0 +1,301 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 139, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 139, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 139, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 139, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 139, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 129, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 129, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 129, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 129, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 129, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 129, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7ekatfq7/tests/test_auditor.py", line 129, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 53 tests in 0.331s + +FAILED (failures=27) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log new file mode 100644 index 000000000..529f8a98e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log @@ -0,0 +1,76 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5t0uheqo/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5t0uheqo/tests/test_auditor.py", line 123, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.459s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log new file mode 100644 index 000000000..9ed6b0de2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log @@ -0,0 +1,112 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kif19cg8/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kif19cg8/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kif19cg8/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kif19cg8/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kif19cg8/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kif19cg8/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.312s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log new file mode 100644 index 000000000..c55e24586 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log @@ -0,0 +1,129 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lrnkq7o5/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lrnkq7o5/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lrnkq7o5/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lrnkq7o5/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lrnkq7o5/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lrnkq7o5/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lrnkq7o5/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lrnkq7o5/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.318s + +FAILED (failures=8) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log new file mode 100644 index 000000000..e4d8a2370 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log @@ -0,0 +1,166 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 216, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 461, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 317, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c9f9811b362e3cc6c66b458499d28e0a8b80c12e514a4c46313fde1b9c02de2a', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 325, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '4eaa9f353cb16dd1420abb5697ba3974ac5b9502876386958c9a677d6da347cd', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 152, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k2609kgz/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.328s + +FAILED (failures=12) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log new file mode 100644 index 000000000..8476692f9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log @@ -0,0 +1,91 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-t98nno5n/tests/test_auditor.py", line 338, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Top.lean' +'Mid.lean' + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-t98nno5n/tests/test_auditor.py", line 342, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-t98nno5n/tests/test_auditor.py", line 85, in test_lean_explicit_imports_are_extracted_across_lines + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) +AssertionError: Lists differ: [] != ['Closed.Base', 'Closed.A', 'Closed.B'] + +Second list contains 3 additional elements. +First extra element 0: +'Closed.Base' + +- [] ++ ['Closed.Base', 'Closed.A', 'Closed.B'] + +---------------------------------------------------------------------- +Ran 53 tests in 0.338s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log new file mode 100644 index 000000000..a59c17f65 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vdalslh1/tests/test_auditor.py", line 369, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.393s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log new file mode 100644 index 000000000..dc66a28cd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log @@ -0,0 +1,471 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... FAIL +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... FAIL +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... FAIL +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 292, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 434, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 379, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 493, in test_binary_source_language_mismatch_is_a_finding_not_a_crash + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 448, in test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 517, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 338, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 232, in test_duplicate_scope_and_unknown_schema_keys_are_rejected + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 216, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 238, in test_empty_scope_cannot_manufacture_green + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 369, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 302, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 488, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 455, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 373, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 461, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 359, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 430, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 430, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 430, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 430, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 430, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 430, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 430, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzh_3fss4', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 430, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 475, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('VACUITY_ANNOTATION',self.codes()) +AssertionError: 'VACUITY_ANNOTATION' not found in set() + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 243, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_MISSING',self.codes()) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 444, in test_modules_cannot_point_to_documentation_in_place_of_source + self.assertIn('MODULE_ALIAS',self.codes()) +AssertionError: 'MODULE_ALIAS' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 321, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 403, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 270, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 353, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 327, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 296, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 410, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 221, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 342, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 392, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-he80i998/tests/test_auditor.py", line 265, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.208s + +FAILED (failures=49) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log new file mode 100644 index 000000000..56aaba286 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log @@ -0,0 +1,390 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 216, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 375, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 461, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 279, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 317, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f0681fd9f5d920326260db2a8e44417a5f339fdefe6de5e27fd68b93ac609511', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 325, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '27256a01f2daf8362ffb1812fecaace9b089d2ab35c6ebe0887b75e3fe72662d', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_FLOAT_REVIEW_GAP' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 152, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3jwizqb9/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.314s + +FAILED (failures=37) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log new file mode 100644 index 000000000..edf580378 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e1ob1k7v/tests/test_auditor.py", line 392, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.306s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log new file mode 100644 index 000000000..77dbce9eb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3r4nt99j/tests/test_auditor.py", line 327, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.310s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log new file mode 100644 index 000000000..a0c303242 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log @@ -0,0 +1,74 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-196_y65f/tests/test_auditor.py", line 321, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-196_y65f/tests/test_auditor.py", line 330, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.310s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log new file mode 100644 index 000000000..89548fb12 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log @@ -0,0 +1,74 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7az8kwci/tests/test_auditor.py", line 488, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-7az8kwci/tests/test_auditor.py", line 359, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.414s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log new file mode 100644 index 000000000..00a5302e5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log @@ -0,0 +1,181 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... FAIL +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 292, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 386, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7d29a234c8595573afc410a2e38df0a57c4e8b78b10cabcfcdc5e1c7bbc443e3', 'inventory_sha256': {'r': 'aae11728cb74dfd305acf778f64540681ea5573c80f1c2e71d1d1861e950f8b8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G2 subject evidence'}, {'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G4 subject evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.olean', 'kind': 'binary_proof', 'expected_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a', 'actual_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a'}]} + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 338, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 207, in test_complete_manifest_counts_every_file_and_is_deterministic + self.assertEqual(r['classified_count'],2) +AssertionError: 1 != 2 + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 216, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 369, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 306, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '051fa49f6078fa79b3d251754122754694e5b01e1379cfc2e2d7b23d7a3a39ff', 'inventory_sha256': {'r': '9b623248b41671d0cda28e974cdcb807e53e9b29dcc252483131d7426ab650c5'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MODULE_ALIAS', 'root': '', 'path': '', 'line': 0, 'detail': 'module map points outside classified scope: python:timer'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e', 'actual_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e'}]} + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 488, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 359, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 480, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 471, in test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e0f6b54442d5814de1762b34fc051934c9462d28d2201ac592135a217087f281', 'inventory_sha256': {'r': '5b61cf66fce2be9b0fdc1f5f70f9965abdf47586d302ceefa8f2f4469df29aa8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}, {'code': 'VACUITY_EVIDENCE', 'root': 'r', 'path': 'Closed.lean', 'line': 1, 'detail': 'content-bound nonvacuity witness certificate required for t@1'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Closed.lean', 'declaration': 't@1', 'status': 'nonvacuous', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65', 'actual_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65'}]} + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 353, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 410, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nr6v6mrj/tests/test_auditor.py", line 347, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +---------------------------------------------------------------------- +Ran 53 tests in 0.566s + +FAILED (failures=14) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log new file mode 100644 index 000000000..2d4f4832e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log @@ -0,0 +1,74 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hpyiwq0z/tests/test_auditor.py", line 379, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hpyiwq0z/tests/test_auditor.py", line 455, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.315s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log new file mode 100644 index 000000000..23fdd7b39 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-76mh8962/tests/test_auditor.py", line 302, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.313s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log new file mode 100644 index 000000000..0dfe5499a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log @@ -0,0 +1,121 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zbsmu16h/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zbsmu16h/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zbsmu16h/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_HASH'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zbsmu16h/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zbsmu16h/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zbsmu16h/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zbsmu16h/tests/test_auditor.py", line 288, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +---------------------------------------------------------------------- +Ran 53 tests in 0.338s + +FAILED (failures=7) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log new file mode 100644 index 000000000..59aea7fa2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log @@ -0,0 +1,74 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2c9htbo8/tests/test_auditor.py", line 480, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2c9htbo8/tests/test_auditor.py", line 410, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.316s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log new file mode 100644 index 000000000..4ea90a4c5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log @@ -0,0 +1,74 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-avutv2bz/tests/test_auditor.py", line 246, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-avutv2bz/tests/test_auditor.py", line 265, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 53 tests in 0.325s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log new file mode 100644 index 000000000..3d92f15e6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-q_6g9eq9/tests/test_auditor.py", line 394, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_COVERAGE',self.codes()) +AssertionError: 'VACUITY_COVERAGE' not found in {'VACUITY_ANNOTATION'} + +---------------------------------------------------------------------- +Ran 53 tests in 0.325s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final.json b/cbz/contributions/math514/layer_a/evidence/g0-final.json new file mode 100644 index 000000000..2d2d3a754 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final.json @@ -0,0 +1,566 @@ +{ + "baseline": { + "assertion_failures": 0, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "-m", + "unittest", + "discover", + "-s", + "/workspace/cbz-0/tools/layer_a/tests", + "-v" + ], + "errors": 0, + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/baseline.log", + "log_sha256": "b2e6847f813cbd618c30426d1b90b600e14b1aa83b0c46568a2f1e5624ef2c6d", + "returncode": 0, + "tests_run": 56 + }, + "claim": "finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "/workspace/cbz-0/tools/layer_a/mutation_test.py", + "--output", + "/workspace/cbz-0/tools/layer_a/evidence/g0-final.json" + ], + "ended_utc": "2026-10-29T17:28:34.125350+00:00", + "gate": "G0", + "mutants": [ + { + "assertion_failures": 37, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log", + "log_sha256": "5afc4f4abac0f7a6789db68aacf3fe4880145984c501fd7df42f44a3321fcdab", + "mutated_sha256": "ff8a4fb7d611294fb52328879859cdbd7c29a2ab2d1bedaccb4d70bb1cad9812", + "name": "empty-lean-findings", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "log_sha256": "d93390b0a29efce448b7b97c83c2b35fc420e29a997f146dd0e46537a7a206fe", + "mutated_sha256": "95d0a01c3ba5f164daf2285e0462b63365d4fb5f1d000fa97ed8dcb1213c076c", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "log_sha256": "ffab4248b6cdc8191139503cbe6b6401ba9d7cadb04c08f36acef00dba44f423", + "mutated_sha256": "db5659dc235c5a8391e9d95c4a3fff47040dc704e1d5498eb0ee6e47ae0acde4", + "name": "disable-placeholder-category", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log", + "log_sha256": "74d05966c3bebdc2e451463ee6bd3ff53985554e61235befef92759a8485d6fe", + "mutated_sha256": "0520811e0846dea52ce92e1b04488953c27dc7b15a2bdb4dcc6e442193757989", + "name": "disable-axiom-category", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 8, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log", + "log_sha256": "86e396a97baf1652def570c0caa4f628adcf5934dad230dd52336d8a15473830", + "mutated_sha256": "7247afab8b671114be95c8a019646f76f38cd4cfc949d626a1b9c1c65b2ba22f", + "name": "disable-native-category", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "log_sha256": "d267b6b4a659f2a374db686cf7b3ea1836c1d65d1d0b9cfde02812c01870e241", + "mutated_sha256": "73d8f2211009378e521713a37a275318b59efbbaff7956d629ccbe2a08c21fe5", + "name": "disable-macro-gap-category", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "log_sha256": "c9c9d1020a14f9936c636a2b96bbe2697c93725a7f13c775c01792a29071613c", + "mutated_sha256": "f8f4b458d8db780fe7e76225b7f2eaef15c63529389295cf294360a19fbfb6c4", + "name": "drop-lean-dependencies", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "log_sha256": "f38fc00e7e8fb14f2e2f85739eff788d5719e257a6e8a795be0e85d8c6888411", + "mutated_sha256": "9239b4478cc49e290b210243429bfb7e46d2ce870cad0622a28fd4b3178486a6", + "name": "disable-float-literal-category", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log", + "log_sha256": "90f67a521041cd7654b217d272778ab4bb70a7e31e5da73254b348ff5f494c53", + "mutated_sha256": "ce3d6e8b7b3ce3df1999fc2974c75cbeb5efb609c9c4749f546c5b8017c75418", + "name": "allow-python-division", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "73f5a7d9f04d357bea32a365ad79fe5b10f9a3ff989e4981d46c4ee1a5afcdd4", + "mutated_sha256": "e90b7c967ab1d633df952b68f77dbc5edfb44e4942acfa2cff1b25895660076f", + "name": "allow-negative-dynamic-powers", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "077baa995c784ee19b45204ad154ea21039cd30e3d55137782ead735a7a433a6", + "mutated_sha256": "4856f18f7b70375e911b36ad5db30476b774ffbee15b4abdbf39bfae29eff271", + "name": "allow-unknown-python-calls", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 27, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "log_sha256": "a3c138be8887286eb9f7def6ada9c2373699ad38fdb14d5cc3288a5ab49a77df", + "mutated_sha256": "681b18ef4ef0b24d389d9d557394dcc9cd544e74a10d016109f42a01a8bcc5e9", + "name": "disable-exact-python-profile", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "log_sha256": "072e35971f8c64f6e97151238b531da59a1bbf1bfc525aea1ce1b74f093ce1f8", + "mutated_sha256": "b47ff88fac0a20416a5098156287502aeca098cb134ca8d84a7d2e4794ee7fce", + "name": "allow-reflective-attributes", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "b030056162cfabc3eeeb8f0c52bb7b9f8ccd274dc8bff0cb79b89c99bc051bad", + "mutated_sha256": "d1bb13aae23d4d9932c8001e8cfa86a1ac3de2e87bdc957a5db917ff77c33e69", + "name": "allow-protected-name-rebinding", + "original_sha256": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 14, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "log_sha256": "59d150c79ba76b270e452e96f593e121bbb6d9f1596f695f248beb6e30a91d6d", + "mutated_sha256": "23f032d1ef1afb837edc2b2245d772fc50877eb03a8b0ed430b6c61f7ff8d519", + "name": "skip-all-but-first-file", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "log_sha256": "e51538ba4caff4b22d0a1ed683957983643a9c2efab94f00fe2f2e97bdce486f", + "mutated_sha256": "add23ec029c313e1f86300ceabc12c92ca09151153f32fde2ecc4828df8333e3", + "name": "allow-incomplete-classification", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "log_sha256": "39e9118c52eb4f1e9d60f90390882cf6227fed2180d06195fe7017c2011821af", + "mutated_sha256": "0b61ee1560c6912e532f5d9697d21ccbe017d416668c8b7933c102c476f22eb3", + "name": "allow-unknown-classification", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "log_sha256": "a2442444dfe30c439abe9dc06a939b613e4cf3a874cd11619805961f3001942d", + "mutated_sha256": "b4dda84af8c82badfb44bb740b7313977a6e59b556b6125c424f31cc7747d28e", + "name": "disable-content-hash-check", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log", + "log_sha256": "27d31214b243a8162cc7b6d6b5dceb98098be7ca892160a94e38e9a62df1a8ba", + "mutated_sha256": "d6db23d0bd0311e0a10871849be3db66ee3995d3e8eadd0e8b08ee3ef5d8aba2", + "name": "allow-symlink-files", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "log_sha256": "887d91bffcb4f8de78f67ec87a7136844fc4d9a8afe95300db40a8fa42509fdf", + "mutated_sha256": "549996312d2ca3f39cd6f66550eab5b5fe8892565baeb1d9431465096ef0f4d0", + "name": "allow-unreadable-files", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "log_sha256": "7c0abd09bf090212146c67049cf422154cffb604ae48bdc66be8ea116f5fa697", + "mutated_sha256": "bfc031ab320a3cfc852ea168730187e9eb4cae3c078958c327a73442b78f1267", + "name": "skip-unreadable-file", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "log_sha256": "c05a5e956756b25788b1fd5a100d8410ca2d8f632134034f9bb35c30bb6536a1", + "mutated_sha256": "cc6c1a8874a17b2997be690ba2d1972636b3603a2d8df0e2c584183fc84d5334", + "name": "allow-relabeled-source", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "2ced2b97345f4d918819c0997e115b8aae93c5fd248477b8eb6089a7c5f06403", + "mutated_sha256": "8ba94cf402359aa5060c9a856bde047be40b869a1e083e6d1e6fc45ef6fabc5c", + "name": "allow-unpinned-external-source", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "log_sha256": "25b32bae46d83b97b109bec534f23760a3aff44551707637643d00cbcb87721d", + "mutated_sha256": "a1309a374c79bb496820908e48feee27f9d22330f527ba17f9aee1f22e40f2d7", + "name": "skip-nonmath-review", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "e1a6b93cc62892ba2c542957b0cbae0cedbd38357fd48fba03e776fae19549f0", + "mutated_sha256": "02b2a4f9317961d4d793e9e17835509f998f3acfc865a34de9425cf8c4c86af6", + "name": "skip-binary-proof-bindings", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "458ab4714ee1afcd62e0a34d4a79ba99d03e5c291a3c39f7361e148325fcc14e", + "mutated_sha256": "af9d5186188fac8617049da2964ec407670d9cebecc81f68c171b7d23019f57f", + "name": "ignore-retained-finding-counts", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "8061ee644baabc57ef87a2c44cdb08506afcaea0d3a89a8236b4b02f926c799c", + "mutated_sha256": "5617704c006cb5403e213f542b706afdd36b89bf6fe74c3c38baae72b342d7ac", + "name": "ignore-quarantine-boundary", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "log_sha256": "7f4d52b7e3862ecf95bd03bc326fbc434ea0ac42d421acb5394abc28e75716bd", + "mutated_sha256": "106130f746460833d40f748c2fb37e945ced2214918f173c2630683cd0c8acaf", + "name": "restore-shadowed-fractions-exemption", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "log_sha256": "bad6c8a559e9f35ace2d40f2db4b3bea9fe59d4d084304331b6230a075a4cb85", + "mutated_sha256": "7fd4d018b08d37d57f99ee1f99f8752d5d04122cb77064fc50b6bb2eea5138dc", + "name": "drop-python-submodule-candidates", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "log_sha256": "f4095f142b139c11cc9a03008b4a728ea2d8fd4d7113f1fdc3979545009359d3", + "mutated_sha256": "397c4d7f11c7a45816637a0c6ea401b1a894adb16dbd78e818e4c5d66d3a893a", + "name": "allow-nonmath-dependency-values", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 7, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log", + "log_sha256": "628944a0688f6f8fda1d1a722c3af742c8d6ed5a6f96d034e8b43b2e9a8e0116", + "mutated_sha256": "06fb2b603e3ac61a655089c830e84374d96b86a64ec3277181ee1e7da670d593", + "name": "skip-path-validation", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "838e2c072d690d6388da8cd6d3e3dfdbaa06ef083dda80852a55bd152b04c510", + "mutated_sha256": "40598dc1d6e57fb7ddf473c418ed6a8556d165e60fa485db9a6064841a05a7a9", + "name": "allow-quarantine-dependency", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "d9359ef9572c7841d57affc7d37a856b54d8c0e07eab6dd9ba818bbe10bf94f9", + "mutated_sha256": "8ca9928e02a6a6cf7e4ec4784702e5fc2fb11436718f0459bf840675453c64a7", + "name": "skip-vacuity-coverage", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "74fd63f8feb8e7921c56a55e2cf840318cbd76f476bc3171f0b6b5ba3e805a58", + "mutated_sha256": "96eb51e79ed433e3c85546224e71cfda3aaacd4ef63e50dc417332d2be36965b", + "name": "ignore-contradictory-hypotheses", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "64b312cc433929417085e9ff0b569e04ef2ab208acde1900a8e377f8288c8e8d", + "mutated_sha256": "f4d29f78a25c854733431313ff5f6dd9ac83158bdf7d991be3649e98683795ef", + "name": "allow-unbound-nonvacuity", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log", + "log_sha256": "046a559ed488dbeda388035c65fe05a7ef00f3b5febd232bf7a4992358fe15e6", + "mutated_sha256": "dd93e337368b543ef5ceb22e8f23d00e314843f4b5cb1d00b23616be8a4fc5b3", + "name": "skip-status-evidence", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "a513511511b4cd28e1da6d0b808eb5e45cd8400050f30a51404f1753b5cb7a3c", + "mutated_sha256": "70b5e8edfea6a33d7168d7d2dca8838f2eb8bdc9ae31e993f55669b01ddb4f7a", + "name": "allow-arbitrary-foundation-set", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 49, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log", + "log_sha256": "a5e1246730410f6d2d1b08f7161318bbc30e1512ea9068e8f601dade33bebb2e", + "mutated_sha256": "0f57b72ee7aedfc92b03b5ac97715a00a5f8f4cd77ea9dcb5e1f7eb714e04339", + "name": "empty-final-findings", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + }, + { + "assertion_failures": 9, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log", + "log_sha256": "e5cf79344245c5eb68c09182cdf6fd3ee7535c969458290c98c6d20cb0ccb12f", + "mutated_sha256": "37ad35fc73dc72f4a60749992357b9bade5ec7fa7613433d88dea98d54f61ce2", + "name": "always-report-static-pass", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 53 + } + ], + "observed_status": "PASS", + "schema_version": 1, + "source_sha256": { + "LEXER_PROVENANCE.json": "c0bc0ad327e0dc7729935354e459907045432e146665b2114a4e9b8f7da7a66c", + "README.md": "c3eb2c13df3665e72d9aedb03321a6144b96a42c226a245cdfc27688f812926e", + "SPEC.md": "8380d4bbe2d53c822655c27b0f19740216c1bfdc1cef4598825049d40e1c3f58", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "mutation_test.py": "a2d83c63c9b20e3b52366ff984f3e6595493e1da3d39b50a4c1b3586ec3dfe6d", + "source_checks.py": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "tests/test_auditor.py": "2894e255ef5be4dfad05c42b06266c12d166be4fe99c57301a79a904888efc1f", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T17:28:15.158974+00:00", + "threshold": { + "declared_mutants": 39, + "killed": 39, + "ratio": { + "denominator": 39, + "numerator": 39 + }, + "required_killed": 39, + "rule": "every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/g0-final.log b/cbz/contributions/math514/layer_a/evidence/g0-final.log new file mode 100644 index 000000000..ec7937d18 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-final.log @@ -0,0 +1,40 @@ +empty-lean-findings: KILLED +canonical-unicode-boundary-weakened: KILLED +disable-placeholder-category: KILLED +disable-axiom-category: KILLED +disable-native-category: KILLED +disable-macro-gap-category: KILLED +drop-lean-dependencies: KILLED +disable-float-literal-category: KILLED +allow-python-division: KILLED +allow-negative-dynamic-powers: KILLED +allow-unknown-python-calls: KILLED +disable-exact-python-profile: KILLED +allow-reflective-attributes: KILLED +allow-protected-name-rebinding: KILLED +skip-all-but-first-file: KILLED +allow-incomplete-classification: KILLED +allow-unknown-classification: KILLED +disable-content-hash-check: KILLED +allow-symlink-files: KILLED +allow-unreadable-files: KILLED +skip-unreadable-file: KILLED +allow-relabeled-source: KILLED +allow-unpinned-external-source: KILLED +skip-nonmath-review: KILLED +skip-binary-proof-bindings: KILLED +ignore-retained-finding-counts: KILLED +ignore-quarantine-boundary: KILLED +restore-shadowed-fractions-exemption: KILLED +drop-python-submodule-candidates: KILLED +allow-nonmath-dependency-values: KILLED +skip-path-validation: KILLED +allow-quarantine-dependency: KILLED +skip-vacuity-coverage: KILLED +ignore-contradictory-hypotheses: KILLED +allow-unbound-nonvacuity: KILLED +skip-status-evidence: KILLED +allow-arbitrary-foundation-set: KILLED +empty-final-findings: KILLED +always-report-static-pass: KILLED +G0 PASS: 56 baseline tests; 39/39 checker-source mutants killed diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log new file mode 100644 index 000000000..e37935045 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log @@ -0,0 +1,82 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmphpwt8se1', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmphpwt8se1', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-glpzmv1e/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '986b4ed6682d52238fb4b2c43127fcc44ba0a4bfd47b2e61e503fc4d1b441bab', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-glpzmv1e/tests/test_auditor.py", line 323, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FOUNDATION_PROFILE',self.codes()) +AssertionError: 'FOUNDATION_PROFILE' not found in {'LEAN_PLACEHOLDER', 'FILE_HASH'} + +---------------------------------------------------------------------- +Ran 57 tests in 0.369s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log new file mode 100644 index 000000000..5b9c18e75 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vtk85sbe/tests/test_auditor.py", line 272, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.332s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log new file mode 100644 index 000000000..bb6fd7fc3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-prw9qz3a/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-prw9qz3a/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.426s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log new file mode 100644 index 000000000..6551c41ea --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1wkb441_/tests/test_auditor.py", line 539, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.343s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log new file mode 100644 index 000000000..9c3fce381 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log @@ -0,0 +1,71 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ui3f8i3j/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in {'PY_AST_GAP', 'PY_INEXACT'} + +---------------------------------------------------------------------- +Ran 57 tests in 0.415s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log new file mode 100644 index 000000000..881605044 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log @@ -0,0 +1,71 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tnfae306/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.397s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log new file mode 100644 index 000000000..d6dadc361 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log @@ -0,0 +1,96 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6972kh9s/tests/test_auditor.py", line 389, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6972kh9s/tests/test_auditor.py", line 420, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6972kh9s/tests/test_auditor.py", line 410, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6972kh9s/tests/test_auditor.py", line 404, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 57 tests in 0.344s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log new file mode 100644 index 000000000..2accc1afa --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log @@ -0,0 +1,71 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-32q1m1er/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.340s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log new file mode 100644 index 000000000..5b4504185 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log @@ -0,0 +1,78 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jv4uxwat/tests/test_auditor.py", line 485, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jv4uxwat/tests/test_auditor.py", line 347, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.373s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log new file mode 100644 index 000000000..c57ff6242 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zroeb_7l/tests/test_auditor.py", line 343, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.379s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log new file mode 100644 index 000000000..5cd1b955e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tvuuvf8l/tests/test_auditor.py", line 454, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.411s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log new file mode 100644 index 000000000..7a21a4136 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5nbcm_89/tests/test_auditor.py", line 275, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.348s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log new file mode 100644 index 000000000..613fa333b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log @@ -0,0 +1,116 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2jmpkd8m/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2jmpkd8m/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2jmpkd8m/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2jmpkd8m/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2jmpkd8m/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2jmpkd8m/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 57 tests in 0.416s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log new file mode 100644 index 000000000..7c0ab3e6d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p47elnbr/tests/test_auditor.py", line 424, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in {'VACUITY_COVERAGE', 'LEAN_AXIOM'} + +---------------------------------------------------------------------- +Ran 57 tests in 0.408s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log new file mode 100644 index 000000000..ca047610c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3q6t6sfp/tests/test_auditor.py", line 316, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.404s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log new file mode 100644 index 000000000..9416a9085 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log @@ -0,0 +1,382 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 567, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertEqual(p.returncode,1,p.stderr+p.stdout) +AssertionError: 0 != 1 : { + "claim": "bounded static rules only; not CBZ-0 or mathematical proof closure", + "classified_count": 1, + "fatal_gaps": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "files": [ + { + "actual_sha256": null, + "expected_sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df", + "kind": "documentation", + "path": "readme.txt", + "root": "r" + } + ], + "findings": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "inventory_sha256": { + "r": "091289b475686cf611996d5a2a5654097ef7ffe09099b2b5c02e0b276254cc5c" + }, + "manifest_file_sha256": "f5c6d49945ef36713d41a87ce7d3a479353ca3c0f9045540c9d49b9076f53e51", + "manifest_sha256": "93e4c1ac3eef085b1cc0b4945a585f4bda3387408a22cd9c7b5edb94b7662d8f", + "remaining_obligations": [ + { + "gate": "G2", + "required_work": "All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound." + }, + { + "gate": "G3", + "required_work": "Actual Lean build and no sorry warnings; source scanning does not execute Lean." + }, + { + "gate": "G4", + "required_work": "Kernel recheck every closed declaration and all bound binary proof objects." + }, + { + "gate": "G5", + "required_work": "Execute retained regression tests; source profile does not establish runtime success or historical test retention." + }, + { + "gate": "G7", + "required_work": "Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency." + }, + { + "gate": "G8", + "required_work": "Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength." + }, + { + "gate": "G10", + "required_work": "Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git." + } + ], + "result": "STATIC_PASS", + "retained_count": 0, + "retained_findings": [], + "scanned_count": 0, + "schema_version": 1, + "vacuity_observations": [] +} + + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '96993a122d9e086fa285ebcda8d523b70c45a5038a4a53b8fd55cc11394dfcf6', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '324de868d78eeeb66eaab90785d1827189c6cb18f10f1bc69fb5f09846ae2e82', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0c351a21f1bee4e38472208bb88f5ef199f21cc9db7cbd44c430c78bb13bd1fe', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'MODULE_ALIAS', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'module identity must be a string'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'af54ba0ff86005ce5e7a850332a260ade3b181bad743d2fb97b75facc16fb5bc', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'content differs from manifest pin'}, {'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'missing or malformed SHA256'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': None, 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '83b30ab93ca281ad096bf3a15f51332e19b44b7e22501f89d53ca0eddd35834e', 'inventory_sha256': {}, 'classified_count': 0, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '45ac2e141c685516d762b20bd02cec3cc4019156d3d07e0246096ad28ec14654', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'db8289288a588f8863d9b02a1b6a16f37ec09b6813bebdeb5b6f2b40d5318b1b', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FOUNDATION_PROFILE', 'root': '', 'path': '', 'line': 0, 'detail': 'approved imported axiom set must be exactly propext, Classical.choice, Quot.sound'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp9dc52iwk', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 480, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'fd02363c3c4cb65b28002309ccbee2ee32378600fc945820d46759f96f8465f1', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'af97a0991ad7cea795041da48e11c952b1ef755c8f38a41aa674c517a4edea53', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_KERNEL_BYPASS', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unchecked environment declaration insertion: Environment.addDeclWithoutChecking'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '24f1578325d59223d1007d0bf850743c1df62b3f6f0c1fe725bf75dc381705ea', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_KERNEL_BYPASS', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unchecked environment declaration insertion: Environment.addDeclWithoutChecking'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'db7a74c5e94ff676dc4eb78cf01b999ee1db4638c6cded82dbfe2db0ab169fe4', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_PLACEHOLDER', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'sorryAx'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'dd685cecd8d55af75c79d7d3e607abf7078fda44f6ec691bd77de0454839747c', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: Lean.ofReduceBool'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'fcdc266605bc8cefa1eaed6d007a9880571f985ddb189ae5c41f54e1637ae433', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'fb7b6e5f1812e0af25f83dd59b45cf0dda4971ead3ae5aafcb546a03174bc8d6', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b59dff5fb8e9f06e4e0bdb45f7878a40e586298d7953187eabc22c25199ffd94', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f63d7368bb9f6623e475025f365f87c892ff7915ef67721e8f462ad26ab67a1b', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unsupported or unterminated character literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unsupported or unterminated character literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'cc8c04d4de4c81ce2885d57c4469e20a35e61bb6983e7525184811160f26291f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated nested block comment'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated nested block comment'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'af708749eddd1d787804f750e91734d309d21c438867a8eb0d6ccd215cff9f5d', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated string literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated string literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f4dd2d972d3973f8b515291bbd317a61b142caa3e29735cb6bef8399a4d515dc', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated raw string literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated raw string literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01u44228/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c9eece0a14595df65ca0dd6ba5b06064997599e9c5177912286f47f5bdb6fff1', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated escaped identifier'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated escaped identifier'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +---------------------------------------------------------------------- +Ran 57 tests in 0.229s + +FAILED (failures=21) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/baseline.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/baseline.log new file mode 100644 index 000000000..6e4230eb7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/baseline.log @@ -0,0 +1,65 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 60 tests in 1.352s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..51e0f01c3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log @@ -0,0 +1,71 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bflc456q/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.337s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log new file mode 100644 index 000000000..717a1ee33 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log @@ -0,0 +1,115 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tdi95tbk/tests/test_auditor.py", line 426, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tdi95tbk/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tdi95tbk/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tdi95tbk/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tdi95tbk/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tdi95tbk/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.345s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log new file mode 100644 index 000000000..a23d4bf05 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log @@ -0,0 +1,78 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xytimfcb/tests/test_auditor.py", line 512, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xytimfcb/tests/test_auditor.py", line 321, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in {'LEAN_PLACEHOLDER'} + +---------------------------------------------------------------------- +Ran 57 tests in 0.368s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log new file mode 100644 index 000000000..c71f67361 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log @@ -0,0 +1,305 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-suqi076r/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 57 tests in 0.339s + +FAILED (failures=27) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log new file mode 100644 index 000000000..78aab8f70 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gpx485kw/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gpx485kw/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.336s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log new file mode 100644 index 000000000..f2995d15b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log @@ -0,0 +1,116 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-f9dt53_i/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-f9dt53_i/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-f9dt53_i/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-f9dt53_i/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-f9dt53_i/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-f9dt53_i/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.381s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log new file mode 100644 index 000000000..4758b19a6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log @@ -0,0 +1,244 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '877c409e34a4625f2ef573c89fefe78da763e2e6ddd006b9acd1d00069f989ad', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ec5e5d2b2b0328114357532b231578ab5b1c74dd798c10a757e08aade27b6cfa', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '64c9a14305581ffdd31631ecb7c5ac9173488345ec26ced6545f668488468631', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '77069b24756245a2d039ead092791c8ae91d38ca591ed61d7dd63145b528367c', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-n9wq7sc0/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.387s + +FAILED (failures=19) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log new file mode 100644 index 000000000..e51945051 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log @@ -0,0 +1,209 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 267, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 512, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 368, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd58cbc434114e94fbe99f5c56073434d7ca64a62837c7d2a957917fa59b69237', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 376, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0d74299f75dd4a9fde1bb07ce4005a1686afd4c72ade309d11e9375d8c0f4f2d', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'aaee0184c8f5a1d44a002324feab9d04852d7a81f6d0960e2a3e0506264a3325', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 182, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5xusgrls/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.353s + +FAILED (failures=16) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log new file mode 100644 index 000000000..14507a820 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log @@ -0,0 +1,122 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p0o9g4pa/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'db93957b9968d753511437ddcfb8364cf4152d1ae4ebdc9f02ac7c608695e30a', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p0o9g4pa/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '3d1164c836f2fff025b6b34270d79ff71da237eee8f875eb404d372d263b2841', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p0o9g4pa/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p0o9g4pa/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p0o9g4pa/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p0o9g4pa/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.422s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log new file mode 100644 index 000000000..c8385a74b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log @@ -0,0 +1,169 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'bd3616afde5d59e6c5bec86f8e4f59fe50adfa3020f990e529cf9049dbd15e69', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0d32f8fe654d34280bad868ff1c1de675f330bc1ed9cc1ce47c6c4235b3fde32', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '3e82cbc9314f92af35aa353cfac2b2b85528179d10b2734963b13ec76af9398c', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2swrf177/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.432s + +FAILED (failures=11) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log new file mode 100644 index 000000000..c7b11a71a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log @@ -0,0 +1,95 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rncn167f/tests/test_auditor.py", line 389, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Top.lean' +'Mid.lean' + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rncn167f/tests/test_auditor.py", line 393, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rncn167f/tests/test_auditor.py", line 115, in test_lean_explicit_imports_are_extracted_across_lines + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) +AssertionError: Lists differ: [] != ['Closed.Base', 'Closed.A', 'Closed.B'] + +Second list contains 3 additional elements. +First extra element 0: +'Closed.Base' + +- [] ++ ['Closed.Base', 'Closed.A', 'Closed.B'] + +---------------------------------------------------------------------- +Ran 57 tests in 0.469s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log new file mode 100644 index 000000000..a23e631b0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bioyu34u/tests/test_auditor.py", line 420, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.476s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log new file mode 100644 index 000000000..410e2fee5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log @@ -0,0 +1,583 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... FAIL +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... FAIL +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... FAIL +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 343, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 485, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 430, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 544, in test_binary_source_language_mismatch_is_a_finding_not_a_crash + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 499, in test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 568, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 389, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 283, in test_duplicate_scope_and_unknown_schema_keys_are_rejected + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 267, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 289, in test_empty_scope_cannot_manufacture_green + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 420, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 353, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 539, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 506, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 424, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 512, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 410, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 481, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 481, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 481, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 481, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 481, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 481, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 481, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp0t8cv0rx', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 481, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 526, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('VACUITY_ANNOTATION',self.codes()) +AssertionError: 'VACUITY_ANNOTATION' not found in set() + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 294, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_MISSING',self.codes()) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 495, in test_modules_cannot_point_to_documentation_in_place_of_source + self.assertIn('MODULE_ALIAS',self.codes()) +AssertionError: 'MODULE_ALIAS' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 372, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 454, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 321, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 404, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 378, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 251, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 347, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 461, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 272, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 393, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 443, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-v85x_7ck/tests/test_auditor.py", line 316, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.282s + +FAILED (failures=61) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log new file mode 100644 index 000000000..242dc6231 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log @@ -0,0 +1,700 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 267, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 426, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 512, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 330, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 368, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6fffe405f06d43421928be17289a2bedbbdfe862f438d74c20499ff300b8e2fc', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 376, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd19b4788d557d83f304de195085cc6d3240c856987da7c386db51cb06ba17f22', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ad410e09d66784509d6260e8da11ca763e88ff0416e1a1f22a7881fc0c096904', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7621c0eccd52b502348acbbfa56db836b52d6cc176241959f2198ad9b3cf6bd7', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c27dd20671e69f28fb4ca0d95fe43015523fd03f7ebb20053d3c7c6418db5052', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'bb71705a97f10c667ed426910af2f056a16c6fa30d6d5bab11192bd64721774b', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '15cc7203eebcaa2d6d44b8084dd3cfe247d380b7638275358dda6c2739e3dad1', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e465a4f4b57708e8e133294735c3bb8c7c0276ded0758ee95ade35efb17c3c5d', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0f6fc889f9ba2288ad49950cc18ff7a816daec4b31b4739fa7fea26e4a8c2efc', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2cced21a3fb63d2462ad789c6dee31e9ab1176043b6228aeb363ca87ecd27da5', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '4a0567a6a318e6f4bb0fc12dadaadbf58b1f8fec253768ccbf99d437ddc9ac01', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c4ed9c4fce0de5e55cca64d952c12ee82b8519c90189ff6b846fe65122494a6b', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '02951be50e1ff6cd8e173bda6651b1c41ebbdb3cfc49558ba2ca1bd523197931', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f3a734b069f17b4f165ac28a301ea0f71491fbd4e8a356160944bb676579dc92', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_FLOAT_REVIEW_GAP' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 182, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gqhnkb4m/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.351s + +FAILED (failures=67) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log new file mode 100644 index 000000000..173f7cdd9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-eb1de22y/tests/test_auditor.py", line 443, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.381s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log new file mode 100644 index 000000000..5367636ec --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jkdnhkxw/tests/test_auditor.py", line 378, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.390s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log new file mode 100644 index 000000000..c49f27421 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log @@ -0,0 +1,78 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6pubfpaf/tests/test_auditor.py", line 372, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6pubfpaf/tests/test_auditor.py", line 381, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.427s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log new file mode 100644 index 000000000..90c50dc89 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ls59cl3u/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ls59cl3u/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.356s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log new file mode 100644 index 000000000..a1b2216c1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log @@ -0,0 +1,113 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m4j5crh8/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b8bfb9713cff9999b599fee9e4c33ac09a6c2d4d640ec906e740476a7501d73c', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m4j5crh8/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0668505c778b15bdfd195fc0058a4cea5f505833d14e2f9c4f1ed8e764b1d264', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m4j5crh8/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m4j5crh8/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m4j5crh8/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.391s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log new file mode 100644 index 000000000..0158496c3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log @@ -0,0 +1,78 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gjdbw7pv/tests/test_auditor.py", line 539, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gjdbw7pv/tests/test_auditor.py", line 410, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.385s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log new file mode 100644 index 000000000..79842d90c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log @@ -0,0 +1,185 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... FAIL +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 343, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 437, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7fc89f4acd8b2d980c0b4729a7ccbe1a535f18eeb17d28a67577e11915204508', 'inventory_sha256': {'r': 'aae11728cb74dfd305acf778f64540681ea5573c80f1c2e71d1d1861e950f8b8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G2 subject evidence'}, {'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G4 subject evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.olean', 'kind': 'binary_proof', 'expected_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a', 'actual_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a'}]} + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 389, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 258, in test_complete_manifest_counts_every_file_and_is_deterministic + self.assertEqual(r['classified_count'],2) +AssertionError: 1 != 2 + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 267, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 420, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 357, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0da8e43f193528ed3a23898f596d3b867490a1b120fd8d05f8603505720a05b1', 'inventory_sha256': {'r': '9b623248b41671d0cda28e974cdcb807e53e9b29dcc252483131d7426ab650c5'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MODULE_ALIAS', 'root': '', 'path': '', 'line': 0, 'detail': 'module map points outside classified scope: python:timer'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e', 'actual_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e'}]} + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 539, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in {'MODULE_ALIAS', 'IMPORT_UNRESOLVED'} + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 410, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS', 'IMPORT_UNRESOLVED'} + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 531, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 522, in test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8a4e99c1e5f1159eca14a42c4ae4245009fe8977af490ed4c2177a4d2419d108', 'inventory_sha256': {'r': '5b61cf66fce2be9b0fdc1f5f70f9965abdf47586d302ceefa8f2f4469df29aa8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}, {'code': 'VACUITY_EVIDENCE', 'root': 'r', 'path': 'Closed.lean', 'line': 1, 'detail': 'content-bound nonvacuity witness certificate required for t@1'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Closed.lean', 'declaration': 't@1', 'status': 'nonvacuous', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65', 'actual_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65'}]} + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 404, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 461, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-di1u8cy_/tests/test_auditor.py", line 398, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'MODULE_ALIAS', 'IMPORT_UNRESOLVED'} + +---------------------------------------------------------------------- +Ran 57 tests in 0.411s + +FAILED (failures=14) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log new file mode 100644 index 000000000..c659f99af --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log @@ -0,0 +1,78 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-to23fg4z/tests/test_auditor.py", line 430, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-to23fg4z/tests/test_auditor.py", line 506, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.359s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log new file mode 100644 index 000000000..98ba7f8db --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log @@ -0,0 +1,110 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nbgo230o/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '15b802744c5745c3440649a4a7baa63fe03e2cec7e18f9e98209130ee41913cc', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nbgo230o/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nbgo230o/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nbgo230o/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nbgo230o/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.407s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log new file mode 100644 index 000000000..c24b03d11 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zti9ouao/tests/test_auditor.py", line 353, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.376s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log new file mode 100644 index 000000000..238d3e09e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log @@ -0,0 +1,125 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4q3r3zap/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4q3r3zap/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4q3r3zap/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_HASH'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4q3r3zap/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4q3r3zap/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4q3r3zap/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4q3r3zap/tests/test_auditor.py", line 339, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +---------------------------------------------------------------------- +Ran 57 tests in 0.353s + +FAILED (failures=7) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log new file mode 100644 index 000000000..94ff72f38 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log @@ -0,0 +1,78 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-td8nrpi1/tests/test_auditor.py", line 531, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-td8nrpi1/tests/test_auditor.py", line 461, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.371s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log new file mode 100644 index 000000000..a9a77f141 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log @@ -0,0 +1,78 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g3uecflw/tests/test_auditor.py", line 297, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g3uecflw/tests/test_auditor.py", line 316, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.411s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log new file mode 100644 index 000000000..4f4dff0a9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log @@ -0,0 +1,70 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kcikmh4t/tests/test_auditor.py", line 445, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_COVERAGE',self.codes()) +AssertionError: 'VACUITY_COVERAGE' not found in {'VACUITY_ANNOTATION'} + +---------------------------------------------------------------------- +Ran 57 tests in 0.388s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening.json b/cbz/contributions/math514/layer_a/evidence/g0-hardening.json new file mode 100644 index 000000000..5cce6e7c4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening.json @@ -0,0 +1,631 @@ +{ + "baseline": { + "assertion_failures": 0, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "-m", + "unittest", + "discover", + "-s", + "/workspace/cbz-0/tools/layer_a/tests", + "-v" + ], + "errors": 0, + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/baseline.log", + "log_sha256": "bd37bf8669df3ae7b450faeee1af77f02b48329dcf2626861e254fec3d9c2d23", + "returncode": 0, + "tests_run": 60 + }, + "claim": "finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "/workspace/cbz-0/tools/layer_a/mutation_test.py", + "--output", + "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening.json" + ], + "ended_utc": "2026-10-29T17:50:32.865832+00:00", + "gate": "G0", + "mutants": [ + { + "assertion_failures": 67, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "log_sha256": "c4587e83122861a0237adbecc165becb3f411abf6e51e822c762724666686713", + "mutated_sha256": "8560a3529dd1f38dd6a796b8b4ce80bdbbba343e61195854aeb91deb27391ddc", + "name": "empty-lean-findings", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "log_sha256": "61d02f4280530e8a56c8ce30e5a7f262d02c5ad5519c08c71f074a09709827eb", + "mutated_sha256": "f5da7786e5b6414f1e6c469028bf5eec079588ffd08516283315c56a31cba264", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 16, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "log_sha256": "4cb5a8f9b226349a90b914735b2c9435396eee6287196d618af1f5aa7a582a82", + "mutated_sha256": "672a1e6d408580fac94a9e164e06228c441b4d04dc74faad89554422c0fc85b7", + "name": "disable-placeholder-category", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "log_sha256": "cbf98f43bbd15a5b8d64108601a9954cae55839cd608594f261f12a019752dbc", + "mutated_sha256": "47a74c2570612bb7b95eabe6ae80f980c4889513068ffe0012b5737070ac7959", + "name": "disable-axiom-category", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log", + "log_sha256": "b22eabb8238c3bedef79309510a5d92e91a17b0800e2c18754f366ee98a501a9", + "mutated_sha256": "ab5da2f553acdbf38219a1d0a3259fd88a2c9bdae9fe246e17187f809e323328", + "name": "disable-native-category", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "log_sha256": "8686edc6ae1fe32a14b9aa66d66c8bf2022786daf0f6572ec04b2475858cf83a", + "mutated_sha256": "8c3ad8a49859e066e5996374c9d1cb6cf302728f6014967905809ace409f8821", + "name": "disable-unchecked-declaration-refusal", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "log_sha256": "55d3acd966c7d9384d0db2c6f420437a08af5060cf0357d59916ca641c9f248c", + "mutated_sha256": "a537ae85d66e2050c44a4ccf82fced17b676ce4c300adcc16662644fad755d0a", + "name": "skip-malformed-character-refusal", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "log_sha256": "e0c33cc66d79032b41ead944f8b1cda358a2a3c3c34552bce21687fb1495ca25", + "mutated_sha256": "4737b4058424677eaace85a4df2d2bd4e73b9c579ffdcf179db20b8a5fd19d1d", + "name": "miss-escaped-placeholder-helpers", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "log_sha256": "6a9f4b5c4b918bda1d53303d7b48648fff9b4804fda88523c6bcc5587883dcaf", + "mutated_sha256": "98ce8a041cab675654cd49551717e71933a7ea318321f254298bb361e9902072", + "name": "drop-escaped-constant-normalization", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "log_sha256": "211ec1bab634374be7a3ca12dff211e293059f11cb2ac1c1f9b814f1ed0a217f", + "mutated_sha256": "bc8a3da868f3d88ef15d0bf29c7be9898f6b711b9bd137cfa59eefcf0b18d28b", + "name": "miss-multiline-commented-native-config", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "log_sha256": "3c4ad9e87a4a98f1ebe8befc0c81d101ce9ecf7c5646dbd52dabc2ab8acaa194", + "mutated_sha256": "61ca6044e5eedf8069697e2d57e4d25ade693a2eae7b5706a36fcbf3a079ebd4", + "name": "disable-macro-gap-category", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "log_sha256": "25cd3661a79e7c5a5e6bd5487a40e6fc88b926ac65eefbdd52b1064a042a0dde", + "mutated_sha256": "867deb5ee055f10469e5d0949af42fd39e041703e4823be17b80e4bff6e9319e", + "name": "drop-lean-dependencies", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "log_sha256": "9c6c214212dbe6cfe36cd65d18eabd9cc2e19522e25762b48992a99798a233da", + "mutated_sha256": "ee80d153c3e223e432337eefd1a44ce114d5f68165a55c5c5219cbf66e5ab2d6", + "name": "disable-float-literal-category", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log", + "log_sha256": "c4d8f33d381d130e20d6f9e20d08e64c46c89574f5a6ea643b7cc42c29fa0e58", + "mutated_sha256": "f7197c5936192b26c750b96f015254e830c8fd9cebca7e9644cf5d6bc7d6509d", + "name": "allow-python-division", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "b0fcabb9bfd9e6c182743e938946d281fa0d55fe5c16fb0dfba780b641d4670a", + "mutated_sha256": "e3459d7564e07cbe92fcc81a727ef7898ce248cabe9e161231b1b0049092e878", + "name": "allow-negative-dynamic-powers", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "0b008f6ba32d9db12ed65bc22a44ceac76dc5bc5105d33124d6eda104f90b73c", + "mutated_sha256": "2db257d8a822c5213cfc56d1e03275349324bcc631c10ac308b44f9e9044f567", + "name": "allow-unknown-python-calls", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 27, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "log_sha256": "4ea10c9d750f149a5c59088ed436a714a7983e9dafe215b507e627c8683d5fe0", + "mutated_sha256": "b5ed87cda2ff81b903519e951e4c33d7c0e5cc9a3d4dd8d77ef42f89486f117c", + "name": "disable-exact-python-profile", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "log_sha256": "1ed1f484525fb0310b0e3b94ece2f07ae0a9a5f9d4bc3b3a884785a3e2feeb49", + "mutated_sha256": "e79d77c4c7fcc621d41ba7677db7e8d6d478f6bbb7710267c395a848abd1e037", + "name": "allow-reflective-attributes", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "88fa12659e796a10ae4063dd6cda8a23d4be018b874dff2695cc15bb6f704c40", + "mutated_sha256": "81faed7068b84e51b24c4291b14f0d8a84a78b782750178a5e07b49b7774243c", + "name": "allow-protected-name-rebinding", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 14, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "log_sha256": "dd4c206c1d4214a6490da2b9e23405c1ff7f5e76adeab2d28bed8f8b342a2a1c", + "mutated_sha256": "23f032d1ef1afb837edc2b2245d772fc50877eb03a8b0ed430b6c61f7ff8d519", + "name": "skip-all-but-first-file", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "log_sha256": "cb4772082dc8887c29873814130fe2f01a28cde88baab251791b2f6427b76c01", + "mutated_sha256": "add23ec029c313e1f86300ceabc12c92ca09151153f32fde2ecc4828df8333e3", + "name": "allow-incomplete-classification", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "log_sha256": "257046b4f24b6b58471b2510253cfc5fe763801ca8c999d0362af425f38828c2", + "mutated_sha256": "0b61ee1560c6912e532f5d9697d21ccbe017d416668c8b7933c102c476f22eb3", + "name": "allow-unknown-classification", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "log_sha256": "6045e698601fe16a93208529417272488024148332e848f9d0b509c21c291204", + "mutated_sha256": "b4dda84af8c82badfb44bb740b7313977a6e59b556b6125c424f31cc7747d28e", + "name": "disable-content-hash-check", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "log_sha256": "369055295133c748500c408d7d371a4ef29488d0c22161fb49c6969a465dc3b4", + "mutated_sha256": "d6db23d0bd0311e0a10871849be3db66ee3995d3e8eadd0e8b08ee3ef5d8aba2", + "name": "allow-symlink-files", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "log_sha256": "a1cb4206066ccf5538e24f839774d67d74fc898727f116cea7ddb7aa13c58fef", + "mutated_sha256": "549996312d2ca3f39cd6f66550eab5b5fe8892565baeb1d9431465096ef0f4d0", + "name": "allow-unreadable-files", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "log_sha256": "4ead5222f76968d334b66969596d3498e8e8e9a657b550e5e525a7e5263fddc1", + "mutated_sha256": "bfc031ab320a3cfc852ea168730187e9eb4cae3c078958c327a73442b78f1267", + "name": "skip-unreadable-file", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "log_sha256": "a16eff825df6cb63dafa28fc0852c0fb429ee011e5011a4677fa394afb2264b8", + "mutated_sha256": "cc6c1a8874a17b2997be690ba2d1972636b3603a2d8df0e2c584183fc84d5334", + "name": "allow-relabeled-source", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "1c3bcdf1189e2128a11fe50a57220d0a55f7b970a926b8ac05a64c72228c665c", + "mutated_sha256": "8ba94cf402359aa5060c9a856bde047be40b869a1e083e6d1e6fc45ef6fabc5c", + "name": "allow-unpinned-external-source", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "log_sha256": "b4ebe7ee7bfa8818c18da972dc64c1a4d271a89fa31d67d3dd83f5534d6e45da", + "mutated_sha256": "a1309a374c79bb496820908e48feee27f9d22330f527ba17f9aee1f22e40f2d7", + "name": "skip-nonmath-review", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "0f1744f32d0284e72e91012dc946b83b1b032aa994c74ea5c907880cd38d0a0a", + "mutated_sha256": "02b2a4f9317961d4d793e9e17835509f998f3acfc865a34de9425cf8c4c86af6", + "name": "skip-binary-proof-bindings", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "5ab7c0439d0e71ca7618c1595e3c9b6695d3c82e66382cb9a21fc58dae2f4068", + "mutated_sha256": "af9d5186188fac8617049da2964ec407670d9cebecc81f68c171b7d23019f57f", + "name": "ignore-retained-finding-counts", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "ed8516f2431a2c5752c14151a2fd30707e04cb5dd56ef17854dea4954a22d590", + "mutated_sha256": "5617704c006cb5403e213f542b706afdd36b89bf6fe74c3c38baae72b342d7ac", + "name": "ignore-quarantine-boundary", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "log_sha256": "47b56ba8eb2fb962458f1452544de58ce8260ccd345fc9c71b36c4f2e2253d61", + "mutated_sha256": "106130f746460833d40f748c2fb37e945ced2214918f173c2630683cd0c8acaf", + "name": "restore-shadowed-fractions-exemption", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "log_sha256": "bf8d81ba19834ddd2b02d81dbdded4facef1dab24c2bf96bcf303746baeafc19", + "mutated_sha256": "7fd4d018b08d37d57f99ee1f99f8752d5d04122cb77064fc50b6bb2eea5138dc", + "name": "drop-python-submodule-candidates", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "log_sha256": "00124e5e1df955287d1870b0cc755650ced8c66ac4414861c31913ef983c956e", + "mutated_sha256": "397c4d7f11c7a45816637a0c6ea401b1a894adb16dbd78e818e4c5d66d3a893a", + "name": "allow-nonmath-dependency-values", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 7, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "log_sha256": "1c649385e7cceb63128ab5787ab284a2949976e1c5466351f7e19b3eaef18816", + "mutated_sha256": "06fb2b603e3ac61a655089c830e84374d96b86a64ec3277181ee1e7da670d593", + "name": "skip-path-validation", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "89687c72e1d7ebcef094010d2137196689a2399abed75f8d36940e839ef19a9c", + "mutated_sha256": "40598dc1d6e57fb7ddf473c418ed6a8556d165e60fa485db9a6064841a05a7a9", + "name": "allow-quarantine-dependency", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "978eb2468f165747544737c44c5f90611b9fd109f6c455bbc2758b522502434f", + "mutated_sha256": "8ca9928e02a6a6cf7e4ec4784702e5fc2fb11436718f0459bf840675453c64a7", + "name": "skip-vacuity-coverage", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "391b9a461a8f909d3ddef00bdc707b2dcfed55371a357ca0564ff79bf95567c7", + "mutated_sha256": "96eb51e79ed433e3c85546224e71cfda3aaacd4ef63e50dc417332d2be36965b", + "name": "ignore-contradictory-hypotheses", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "f5207c74b953d3ca495d6bee17d36449743f90ef4e9e242fe46d92f455707ede", + "mutated_sha256": "f4d29f78a25c854733431313ff5f6dd9ac83158bdf7d991be3649e98683795ef", + "name": "allow-unbound-nonvacuity", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "log_sha256": "669fc517a61f88f117abb237704a5ba8db91b479ea94500e8a5132de709ed272", + "mutated_sha256": "dd93e337368b543ef5ceb22e8f23d00e314843f4b5cb1d00b23616be8a4fc5b3", + "name": "skip-status-evidence", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "ee53fce5e4246153d1f88d4f7d944c25724e810637a5e069900f89efaec5398a", + "mutated_sha256": "70b5e8edfea6a33d7168d7d2dca8838f2eb8bdc9ae31e993f55669b01ddb4f7a", + "name": "allow-arbitrary-foundation-set", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 61, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "log_sha256": "691a2600bcf1b3153d2639dcd86a3a34ddddfb01021db2cbdd7ecf5d98c329ba", + "mutated_sha256": "0f57b72ee7aedfc92b03b5ac97715a00a5f8f4cd77ea9dcb5e1f7eb714e04339", + "name": "empty-final-findings", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 21, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "log_sha256": "c1dc3d4532a7cfbb53f2ce28c4a5f406f54296aa8d247bdc4f76844ee2ebab52", + "mutated_sha256": "37ad35fc73dc72f4a60749992357b9bade5ec7fa7613433d88dea98d54f61ce2", + "name": "always-report-static-pass", + "original_sha256": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + } + ], + "observed_status": "PASS", + "schema_version": 1, + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "f32f736f63c08ec0fd67b4ef4746630e17c39085ab700f5eee8ddda41c87fed0", + "SPEC.md": "75dc927fc35b0dff3f2423957dcf311ea95c9364c1ae3208f670ebe22eac774d", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "a5241db32bbbadbce183aad2ffeae2fc732406fdf01fbec79b3d27a95b06ed2a", + "source_checks.py": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "tests/test_auditor.py": "05095a3fd3cc71bfedd37b57a07e5a4d97ea40e43a7ab3df05fa9967b55d754e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T17:50:09.881284+00:00", + "threshold": { + "declared_mutants": 44, + "killed": 44, + "ratio": { + "denominator": 44, + "numerator": 44 + }, + "required_killed": 44, + "rule": "every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/g0-hardening.log b/cbz/contributions/math514/layer_a/evidence/g0-hardening.log new file mode 100644 index 000000000..1c3c459ed --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-hardening.log @@ -0,0 +1,45 @@ +empty-lean-findings: KILLED +canonical-unicode-boundary-weakened: KILLED +disable-placeholder-category: KILLED +disable-axiom-category: KILLED +disable-native-category: KILLED +disable-unchecked-declaration-refusal: KILLED +skip-malformed-character-refusal: KILLED +miss-escaped-placeholder-helpers: KILLED +drop-escaped-constant-normalization: KILLED +miss-multiline-commented-native-config: KILLED +disable-macro-gap-category: KILLED +drop-lean-dependencies: KILLED +disable-float-literal-category: KILLED +allow-python-division: KILLED +allow-negative-dynamic-powers: KILLED +allow-unknown-python-calls: KILLED +disable-exact-python-profile: KILLED +allow-reflective-attributes: KILLED +allow-protected-name-rebinding: KILLED +skip-all-but-first-file: KILLED +allow-incomplete-classification: KILLED +allow-unknown-classification: KILLED +disable-content-hash-check: KILLED +allow-symlink-files: KILLED +allow-unreadable-files: KILLED +skip-unreadable-file: KILLED +allow-relabeled-source: KILLED +allow-unpinned-external-source: KILLED +skip-nonmath-review: KILLED +skip-binary-proof-bindings: KILLED +ignore-retained-finding-counts: KILLED +ignore-quarantine-boundary: KILLED +restore-shadowed-fractions-exemption: KILLED +drop-python-submodule-candidates: KILLED +allow-nonmath-dependency-values: KILLED +skip-path-validation: KILLED +allow-quarantine-dependency: KILLED +skip-vacuity-coverage: KILLED +ignore-contradictory-hypotheses: KILLED +allow-unbound-nonvacuity: KILLED +skip-status-evidence: KILLED +allow-arbitrary-foundation-set: KILLED +empty-final-findings: KILLED +always-report-static-pass: KILLED +G0 PASS: 60 baseline tests; 44/44 checker-source mutants killed diff --git a/cbz/contributions/math514/layer_a/evidence/g0-source-mutations.json b/cbz/contributions/math514/layer_a/evidence/g0-source-mutations.json new file mode 100644 index 000000000..fc15d7635 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-source-mutations.json @@ -0,0 +1,485 @@ +{ + "baseline": { + "assertion_failures": 0, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "-m", + "unittest", + "discover", + "-s", + "/workspace/cbz-0/tools/layer_a/tests", + "-v" + ], + "errors": 0, + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/baseline.log", + "log_sha256": "58f6e04f75c41f1972e7be797c323d0e9f42947e7f4225edf554df26dd4d7750", + "returncode": 0, + "tests_run": 44 + }, + "claim": "finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "/workspace/cbz-0/tools/layer_a/mutation_test.py", + "--output", + "/workspace/cbz-0/tools/layer_a/evidence/g0-source-mutations.json" + ], + "ended_utc": "2026-10-29T17:15:47.503193+00:00", + "gate": "G0", + "mutants": [ + { + "assertion_failures": 31, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/empty-lean-findings.log", + "log_sha256": "5ff9735301f16aea7d47439b06d6a0bc930e2cf742483d05e12baa844f4cc22a", + "mutated_sha256": "9136ed3c019460fa5c6b0b847b98055909c9cb94232c31be69bf555eb1511c3e", + "name": "empty-lean-findings", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 9, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-placeholder-category.log", + "log_sha256": "95cf44219680bf2181200fdfa454aa3dc1fc41d3b7aa3560914e0fd1589ed046", + "mutated_sha256": "7a27158209e00ea6ccd084857e2ce2f1c5d4c12cc7bace4c202de5cec728d4d0", + "name": "disable-placeholder-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-axiom-category.log", + "log_sha256": "3e07ffb82f695dcef6d1233ed650039e4abc6fb66ef98fd0975a732a937c58c9", + "mutated_sha256": "6ce186680fcc17c58dc3ee50f95e6d70a4fa2a1890ce1a2a915e2801421b8093", + "name": "disable-axiom-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 7, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-native-category.log", + "log_sha256": "990c2ec6a8c3c8c7d0273e6855263d8ce2460fdd71dbfe7967808c9abd43693f", + "mutated_sha256": "0157b384db890b41447301a413a2a0c981b7a148cc90a86d807a759e64ce9b0a", + "name": "disable-native-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-macro-gap-category.log", + "log_sha256": "1ca149bbe7fc7ca26d810e1c94d681c13ebd60074f67a14eb7f69aa86e2467a5", + "mutated_sha256": "4a18905719e88dfe7be00879550d29f43f66aac90fe7acb11d93e69f3f93fa32", + "name": "disable-macro-gap-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/drop-lean-dependencies.log", + "log_sha256": "5270e92a32421e930027875c0e2eb532d8237b86e3f887967042624879525e92", + "mutated_sha256": "cbf136d6b3811e094bd9bcf61534c23420e3ecb1aa7881f82f134015d538732f", + "name": "drop-lean-dependencies", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-float-literal-category.log", + "log_sha256": "7e7e3c297a6f16d12c045a500d22c1b623dfb48a23372b87e685a571b8e4e25d", + "mutated_sha256": "0b86ea9da22ec439d3cd2ee09161e49d90cc8276e848ebb9d2a665e7fce3faf9", + "name": "disable-float-literal-category", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-python-division.log", + "log_sha256": "ef9138009c67973e7d3e86b6c27435b718dd820f1818007bbae7b04865a08abb", + "mutated_sha256": "ed01d443c30e1a6ce6e44acbd54f3b9550300eb05d977994fb233e641a4c92e4", + "name": "allow-python-division", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "5554afc49763a4d838d67e00b5cb4b525b70727465043ff6c6d34ce9da81c51c", + "mutated_sha256": "14376bb99d9f56df5228676251c6d182aea2bc1c331057facbe541d96f73e0ff", + "name": "allow-negative-dynamic-powers", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "c26158bbe46ced9589e4cd2ad8a1fbdb0e40cd8eef901b4d98bbfcc07fd4619d", + "mutated_sha256": "5882b4956393b1533a2a62b73c26f587841fb8bdb1f1794ba8d02e89b5edc5d2", + "name": "allow-unknown-python-calls", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 27, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-exact-python-profile.log", + "log_sha256": "467e09c4de6b80d0cf331c561d29ac57e2638071cc815750e9674280454b2e25", + "mutated_sha256": "d68a0f89eb27b3ab98c1e78ecfcc751a499d8fa4e39b1c34b12fb7e7170225a9", + "name": "disable-exact-python-profile", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-reflective-attributes.log", + "log_sha256": "e6da30b7d6b27f839059dba76f0aa7c8935dacb249fc5356e1c015f9940bae32", + "mutated_sha256": "546c5c78623ae93b302d1db788b5ec6e1a24a5e534dc1180e322b0a11c00b9f5", + "name": "allow-reflective-attributes", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "94a404a783b09bb659ee2f21533e872660db4bfb96a4e1edc44e5a8d74848a85", + "mutated_sha256": "4673ad842956656221fbf33663a2e84b9f1cff985d4b3cf1fb5b1d14cf1f9818", + "name": "allow-protected-name-rebinding", + "original_sha256": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 9, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-all-but-first-file.log", + "log_sha256": "8ea37900db1be3613cf895d4d5e99438d136da86b9bfda027aa0f87575924a13", + "mutated_sha256": "cc1b966659076bf9d14dc496eda6b45b4f39c1bb5fefddc5893905e66cf2b77f", + "name": "skip-all-but-first-file", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-incomplete-classification.log", + "log_sha256": "26732df5c93f0c60284fc52b911b0e97d8181b2fec6f7275bb5f3bf64fd7bb20", + "mutated_sha256": "29da8b7c1b20ad594d4494db77a670f1016e5d14560447640aec43abe410d1fa", + "name": "allow-incomplete-classification", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unknown-classification.log", + "log_sha256": "56a0a34a8b5088a31062b999e7a21df60ca77395a1c8d26a374f2cfd950eaeec", + "mutated_sha256": "10b1c15f3236ba0edb737b2a175b0c89654a189430e143d95460d4535903500a", + "name": "allow-unknown-classification", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/disable-content-hash-check.log", + "log_sha256": "b00f8ccff2f082994e690e76f384a3c94b4f9ad50e50583def578375db1d9121", + "mutated_sha256": "8c3dbccebad7e2e8ae30e57cb20105c97530c4b9ec0eec47d660f3c147abbdfd", + "name": "disable-content-hash-check", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-symlink-files.log", + "log_sha256": "28a6adc223e3230e94be3d431421b83055228e3ebf5ec6232d28f6df370de91e", + "mutated_sha256": "c923d9d95fbc15eb72ea313f77cb30f8775aea0524cbb69832bf0b503b3f7c46", + "name": "allow-symlink-files", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-unreadable-file.log", + "log_sha256": "dd9032f99276b9e6075895c2c8a71504f4ded0162bffa6244a9abdce52cb00b2", + "mutated_sha256": "aba9ac9c647a8e8dcea32b9fa896f4d04781eb0ea4fccfc18296c164878aa142", + "name": "skip-unreadable-file", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-relabeled-source.log", + "log_sha256": "1e8657f4b7ed6d63e8219a6d3a825e693dbc1dcd9cfa1464d323ae94370ffcf9", + "mutated_sha256": "7b775c51130b599fa7b3d8541b5ab3c3fb262693aa894f40adcd1c9a008f79ca", + "name": "allow-relabeled-source", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "a5c50b0f9b133f7da559c169e72a94f36233cff092afa6aef200d69541975c8d", + "mutated_sha256": "42d0204f480c4ee836cdbf8c1ccdfefc652af0729d658f6f193dc502e07d1bac", + "name": "allow-unpinned-external-source", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-nonmath-review.log", + "log_sha256": "e438c8d665b7b5998dd2b6b707cc390c117299a12c7737f10ef65d3308939c97", + "mutated_sha256": "c06ba2c051cca47d75c23ac7492ce9c48d9d2ed0b1b139e53fa384eb077b1eab", + "name": "skip-nonmath-review", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "ebebb7ccb1be759c7a4aced34aba2db58b7fc96de2aceb66892193f155f89f94", + "mutated_sha256": "4ebda859007c49d77ad07eb74d092006b5435e1bbfc4d37fa2fbfeea22c3ec5d", + "name": "skip-binary-proof-bindings", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "fbd6561488a3689048792c7273e15f3c6bbc3cc255f412339ad84c7fbefd6fa5", + "mutated_sha256": "cd2c60fb7f0e3cd9ef19cafd0cd930fd43180e6228596544ce11d347e4346b05", + "name": "ignore-retained-finding-counts", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "4ce5238c7cc6fec4e6c5f64fd2b8f810e5450a51c008e48b0c05c32511c69db9", + "mutated_sha256": "f1f09230b8a52ae8b104e7d8c93f25c237e4e56bb0edd51f6129b812cf464591", + "name": "ignore-quarantine-boundary", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "58a1efef06ccf0d9352aabb72293b5d976d0290562b9a42905b21ce1979a920d", + "mutated_sha256": "de926c971a08dae7b4adc9e25f60e48bbc1203347e753991eb723f749b103ad3", + "name": "allow-quarantine-dependency", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "61cae5c8ef3635b14279e73313b196f833b3396edb0f216a9f18c68ec6916c7b", + "mutated_sha256": "64368555f9b3d35df00b11073b3cc56206aad84285d7411cb01ff509efe6c658", + "name": "skip-vacuity-coverage", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "0190f4416bcca0fe5bf835e9c672f32714f2305611272f3a62c11bc065844cfa", + "mutated_sha256": "1281700669cc2e60daa8a420fb7e1bd3fd0ebf914a9f59d652e3bc226a81dfc5", + "name": "ignore-contradictory-hypotheses", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "f3e237414ac91737230cfe1859216f76470aa95237d11d2bf0896cc5aeeac050", + "mutated_sha256": "0f9b6c677dfb8b62f2368c9c0d26de6fdcd098a9fa9e2fc0a24b9e1bae2f9653", + "name": "allow-unbound-nonvacuity", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/skip-status-evidence.log", + "log_sha256": "b21be708c7444cad407d9875dd274d6f134eda8b1cc49f9d7b7586404ffbedf5", + "mutated_sha256": "d7d1bf502f06f5cfa7306ba0e7b8c3df24c5869bbe38120bc983268b81a7ad08", + "name": "skip-status-evidence", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "e78cadafe5651825276756199b7d6b25b30d5990e6d9422257cac7e3644ae912", + "mutated_sha256": "1453d93d62d569f66bbf23bfd0345aecc59ad3a2d4aabe394e5541fbaf74b93f", + "name": "allow-arbitrary-foundation-set", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 41, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/empty-final-findings.log", + "log_sha256": "e8bcf47539bb59494318a72c06556984d6f06742686f636b083485f5e70d0b1a", + "mutated_sha256": "17562c323f6002cde5d80139286434fc8f84e91fa4e379f226d59708f623617f", + "name": "empty-final-findings", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + }, + { + "assertion_failures": 9, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/always-report-static-pass.log", + "log_sha256": "b376cbe59cf02c6b7191af49bcbeffde35916906280a09731c89c943d4b8f053", + "mutated_sha256": "63dc2b4c7fba55d7419042522b6cc63b227744d52bc3c4f0ce8aaad58986a7c7", + "name": "always-report-static-pass", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 41 + } + ], + "observed_status": "PASS", + "schema_version": 1, + "source_sha256": { + "PLAN.md": "2741080f2610004df9da084846f3c1ac3a6c4d33a10c316f273eb1ced69429bc", + "SPEC.md": "b03f20ccc2f2af00e71a2f93a40f310b4ca33b0df3dc14d33c60fad168dbd6af", + "auditor.py": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "mutation_test.py": "4126571b9aabf2bfb71f65254c55cee2fdeb65d945db1401499c381141135b5e", + "source_checks.py": "a117211a17389fc09e38abbf97d3b6677afef6b431cbe7601d938c7668b07248", + "tests/test_auditor.py": "6db9c483cfbea65b8c7810ab49caea1915ed8a87228f265125c8bedb079d9c49", + "tests/test_mutation_runner.py": "66f6eea7589815bcb493acb4e42c5629c811d7b25b85684bf7090ee689771fd8" + }, + "started_utc": "2026-10-29T17:15:37.367192+00:00", + "threshold": { + "declared_mutants": 33, + "killed": 33, + "ratio": { + "denominator": 33, + "numerator": 33 + }, + "required_killed": 33, + "rule": "every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/g0-source-mutations.log b/cbz/contributions/math514/layer_a/evidence/g0-source-mutations.log new file mode 100644 index 000000000..cd31687c9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/g0-source-mutations.log @@ -0,0 +1,34 @@ +empty-lean-findings: KILLED +disable-placeholder-category: KILLED +disable-axiom-category: KILLED +disable-native-category: KILLED +disable-macro-gap-category: KILLED +drop-lean-dependencies: KILLED +disable-float-literal-category: KILLED +allow-python-division: KILLED +allow-negative-dynamic-powers: KILLED +allow-unknown-python-calls: KILLED +disable-exact-python-profile: KILLED +allow-reflective-attributes: KILLED +allow-protected-name-rebinding: KILLED +skip-all-but-first-file: KILLED +allow-incomplete-classification: KILLED +allow-unknown-classification: KILLED +disable-content-hash-check: KILLED +allow-symlink-files: KILLED +skip-unreadable-file: KILLED +allow-relabeled-source: KILLED +allow-unpinned-external-source: KILLED +skip-nonmath-review: KILLED +skip-binary-proof-bindings: KILLED +ignore-retained-finding-counts: KILLED +ignore-quarantine-boundary: KILLED +allow-quarantine-dependency: KILLED +skip-vacuity-coverage: KILLED +ignore-contradictory-hypotheses: KILLED +allow-unbound-nonvacuity: KILLED +skip-status-evidence: KILLED +allow-arbitrary-foundation-set: KILLED +empty-final-findings: KILLED +always-report-static-pass: KILLED +G0 PASS: 44 baseline tests; 33/33 checker-source mutants killed diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/ALIASES.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/ALIASES.json new file mode 100644 index 000000000..d0638eaf1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/ALIASES.json @@ -0,0 +1,1577 @@ +{ + "claim": "Portable copies preserve raw bytes; historical raw receipt paths are mapped here, not rewritten", + "copies": [ + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/mutation_test.py", + "destination": "mutation_test.py", + "bytes": 41569, + "sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/tests/test_mutation_runner.py", + "destination": "tests/test_mutation_runner.py", + "bytes": 32402, + "sha256": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/GRADER_IDENTITY_FIX.md", + "destination": "GRADER_IDENTITY_FIX.md", + "bytes": 4396, + "sha256": "4e39a4c39b1d52f370a6f9826ba10c9914334de745541c9ca39695fa02b40123" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/BASELINE_BINDINGS.json", + "destination": "evidence/grader-identity-fix/shared/BASELINE_BINDINGS.json", + "bytes": 1203, + "sha256": "b2e3b505f06b53dbf3cf78e20dfb44627e13cc49efa63267fce2d7bb1e02e3d4" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/EXACT_DESCRIPTOR_GUARD_MUTATIONS.json", + "destination": "evidence/grader-identity-fix/shared/EXACT_DESCRIPTOR_GUARD_MUTATIONS.json", + "bytes": 16924, + "sha256": "4270aa8caacd7bf99220313011f0eaf6cfbf29d11e798f6fa9686d947c28125f" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/FINAL_EXACT_RUNTIME_BINDINGS.json", + "destination": "evidence/grader-identity-fix/shared/FINAL_EXACT_RUNTIME_BINDINGS.json", + "bytes": 430, + "sha256": "74cb3ca9cb33638dbe68c2aa1cd5327636e826030f94e5e0b3738a1277571a91" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/FINAL_RUNTIME_BINDINGS.json", + "destination": "evidence/grader-identity-fix/shared/FINAL_RUNTIME_BINDINGS.json", + "bytes": 430, + "sha256": "dc8dd1fc88e161541c175603c8c7170254764312d081cae56440750f5c299034" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/FOLLOWUP_GUARD_MUTATIONS.json", + "destination": "evidence/grader-identity-fix/shared/FOLLOWUP_GUARD_MUTATIONS.json", + "bytes": 11079, + "sha256": "98d94d858a285800aa80a8348661820c81152e6d0afdeae75a662e152704f43d" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/FROZEN_RUNTIME_BINDINGS.json", + "destination": "evidence/grader-identity-fix/shared/FROZEN_RUNTIME_BINDINGS.json", + "bytes": 430, + "sha256": "0f4187bb436e7efd8933309d372cfff083559742ac888f00072a5a0011f2de56" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/GUARD_MUTATIONS.json", + "destination": "evidence/grader-identity-fix/shared/GUARD_MUTATIONS.json", + "bytes": 43482, + "sha256": "6b1aec98f57510cd79545105bf76f8a8ce7c13fd093e766f8c73e2c4c0c90e47" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/OPTIMIZATION_PROVENANCE.json", + "destination": "evidence/grader-identity-fix/shared/OPTIMIZATION_PROVENANCE.json", + "bytes": 2507, + "sha256": "dde86b3c91e03cfb11ae40eb3524ec00fe1cfa3fcafa33883315ce8b1bed782e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/SELECTOR_GUARD_MUTATIONS.json", + "destination": "evidence/grader-identity-fix/shared/SELECTOR_GUARD_MUTATIONS.json", + "bytes": 5834, + "sha256": "b6442e84be54f748ea79229c1ea37bb69d9de87331cd182835717710de0ab789" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/evidence-binding-review-final.json", + "destination": "evidence/grader-identity-fix/shared/evidence-binding-review-final.json", + "bytes": 11555, + "sha256": "926a0174ac97af1c17beb133e07c906cc51258df95da189a5666e30c1bf65c4d" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/evidence-binding-review.json", + "destination": "evidence/grader-identity-fix/shared/evidence-binding-review.json", + "bytes": 29197, + "sha256": "4ab1002a4e49a18f82017237036acfdde5571432c35013d1f98257478e289497" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/guard_mutations.py", + "destination": "evidence/grader-identity-fix/shared/guard_mutations.py", + "bytes": 4336, + "sha256": "caefdde1a8e496c43cd15188e704d05ec94c91a64a6974b13e93f12f7d957d76" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/guard_mutations_exact_descriptors.py", + "destination": "evidence/grader-identity-fix/shared/guard_mutations_exact_descriptors.py", + "bytes": 3698, + "sha256": "95bd1cd9ce9a46dd43cfc198ea3231a09ba3e5a148dd27a7eb5bfe1b0b7afd7f" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/guard_mutations_followup.py", + "destination": "evidence/grader-identity-fix/shared/guard_mutations_followup.py", + "bytes": 4274, + "sha256": "333684e94c36693c189e70fc5395560b001375a1ebc0038d0b6b9c1809a4498b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/guard_mutations_selector.py", + "destination": "evidence/grader-identity-fix/shared/guard_mutations_selector.py", + "bytes": 4396, + "sha256": "b99161237ea5372440b6c2b21ce3d71e1b8e795bc3c366083a620608fc0527da" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/independent-review-final.json", + "destination": "evidence/grader-identity-fix/shared/independent-review-final.json", + "bytes": 4100, + "sha256": "f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/independent-review-final.md", + "destination": "evidence/grader-identity-fix/shared/independent-review-final.md", + "bytes": 2030, + "sha256": "a3be1779e32b81a7f4c81fc292010a195278fa929069a70e50c4dbfd48d3f338" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/independent-review-followup.json", + "destination": "evidence/grader-identity-fix/shared/independent-review-followup.json", + "bytes": 2943, + "sha256": "f545ffe8142868a210c4cd9ecefaa2d032ff3cd86f81482248a589d5e88466ca" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/independent-review-followup.md", + "destination": "evidence/grader-identity-fix/shared/independent-review-followup.md", + "bytes": 1342, + "sha256": "d6378d62afa9e24e593336b12704555a57fc76443732a3bc6a7f2625a57a5717" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/independent-review-selector-boundary.json", + "destination": "evidence/grader-identity-fix/shared/independent-review-selector-boundary.json", + "bytes": 2318, + "sha256": "f6154169afc683795686c8940851d39c2c32197c4813c2d9184e321d9ff604b6" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/independent-review-selector-boundary.md", + "destination": "evidence/grader-identity-fix/shared/independent-review-selector-boundary.md", + "bytes": 1006, + "sha256": "3a0cdb80184b51f4969b54af023981640805f87ff69a65f0eff85ab373a2f7f7" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/independent-review.json", + "destination": "evidence/grader-identity-fix/shared/independent-review.json", + "bytes": 3909, + "sha256": "d7f5d0d9482ef338969480474937d10578b1b35772f915d06ca3c4c1856a5e99" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/independent-review.md", + "destination": "evidence/grader-identity-fix/shared/independent-review.md", + "bytes": 2215, + "sha256": "578b576a63c702f7b7aa8c1bf8065e239267c1f1ca7b38fb11f17d65ef5a6397" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/new_tests_template.py.txt", + "destination": "evidence/grader-identity-fix/shared/new_tests_template.py.txt", + "bytes": 6366, + "sha256": "34092f278c57b85bf22ec8ea51fcd38eae6c507fe1f606a8541390bf13714277" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/source-partition-review.json", + "destination": "evidence/grader-identity-fix/shared/source-partition-review.json", + "bytes": 303, + "sha256": "478719b51147ee0d99677b432d6739244733e74f6f12ac484b0515cef2f8ac73" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/affected-normal-dev2.json", + "destination": "evidence/grader-identity-fix/raw/affected-normal-dev2.json", + "bytes": 28506, + "sha256": "e6be88aa5ae13bb357a411e1bea72766e8bea06a9145a5c6e2480d397762cea6" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/affected-normal-dev2.log", + "destination": "evidence/grader-identity-fix/raw/affected-normal-dev2.log", + "bytes": 3936, + "sha256": "91339c8dda70a17f1c431cb268636bc673ed3068ae683cbb41f7a705a7370b57" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/affected-optimized.json", + "destination": "evidence/grader-identity-fix/raw/affected-optimized.json", + "bytes": 27251, + "sha256": "e046d1f5a0ac987c8c25d8dbcdcb21b63f432898520e980503ffa67f39b9a672" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/affected-optimized.log", + "destination": "evidence/grader-identity-fix/raw/affected-optimized.log", + "bytes": 3122, + "sha256": "83d722cc0081f947b7ba07106cd9e314f15375a7d596ec6b39ed355ef3f51e69" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/canonical-population-normal.json", + "destination": "evidence/grader-identity-fix/raw/canonical-population-normal.json", + "bytes": 1188, + "sha256": "c72ad83604addc0eea4a4894754729f0ffafa305e70c3b72ff4de55014c6a416" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/canonical-population-normal.log", + "destination": "evidence/grader-identity-fix/raw/canonical-population-normal.log", + "bytes": 165, + "sha256": "f2304c04e62466ec8844d45cea84bc3a711c27faa4ddf27dfa2061a3cb0f4754" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/construction-discovery-normal.json", + "destination": "evidence/grader-identity-fix/raw/construction-discovery-normal.json", + "bytes": 5645, + "sha256": "fbbee7c7f92068025bc7f7a6683e9d6c8db2381b38c69fc0639dea27938c1320" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/construction-discovery-normal.log", + "destination": "evidence/grader-identity-fix/raw/construction-discovery-normal.log", + "bytes": 391, + "sha256": "75814ea180a440f6f3591c2fd88cbc868f3dcab81a16274f035305d4fee89d53" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/construction-discovery-optimized.json", + "destination": "evidence/grader-identity-fix/raw/construction-discovery-optimized.json", + "bytes": 5645, + "sha256": "fbbee7c7f92068025bc7f7a6683e9d6c8db2381b38c69fc0639dea27938c1320" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/construction-discovery-optimized.log", + "destination": "evidence/grader-identity-fix/raw/construction-discovery-optimized.log", + "bytes": 391, + "sha256": "75814ea180a440f6f3591c2fd88cbc868f3dcab81a16274f035305d4fee89d53" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/exact-descriptor-normal.json", + "destination": "evidence/grader-identity-fix/raw/exact-descriptor-normal.json", + "bytes": 6285, + "sha256": "b9e916aa036ab7c96bf44974b9e658cffef362f5037d36cf6718e261495a2a08" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/exact-descriptor-normal.log", + "destination": "evidence/grader-identity-fix/raw/exact-descriptor-normal.log", + "bytes": 194, + "sha256": "19faafeb47af9f8e3164459d6fbc0b205e8e5d15f1a73b39bad095f1ee1208ee" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/exact-descriptor-optimized.json", + "destination": "evidence/grader-identity-fix/raw/exact-descriptor-optimized.json", + "bytes": 6285, + "sha256": "b9e916aa036ab7c96bf44974b9e658cffef362f5037d36cf6718e261495a2a08" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/exact-descriptor-optimized.log", + "destination": "evidence/grader-identity-fix/raw/exact-descriptor-optimized.log", + "bytes": 194, + "sha256": "19faafeb47af9f8e3164459d6fbc0b205e8e5d15f1a73b39bad095f1ee1208ee" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-green-dev1.json", + "destination": "evidence/grader-identity-fix/raw/identity-green-dev1.json", + "bytes": 5754, + "sha256": "3ef5cb012861febde23b1411627ccd600e46ccdd5e970945b6488d6a02eae32f" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-green-dev1.log", + "destination": "evidence/grader-identity-fix/raw/identity-green-dev1.log", + "bytes": 904, + "sha256": "68277f0259d2d70702ee3591d0026d3e08b0aa416d4fd65e30bf3591201b5776" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/callable-factory.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/callable-factory.json", + "bytes": 1657, + "sha256": "5d869d5ee89ec04fc725f5aa661f62e028980a0027bf0ec77dbfa599cedcdcae" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/class-fixture-code.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-code.json", + "bytes": 1700, + "sha256": "68672ac8de883c1498a79f28b3b6159724c8c1a6b254a0378b49cc49ec36a2c3" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/class-fixture-function.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-function.json", + "bytes": 1686, + "sha256": "5b520ecb051bab2c3421805637734894689db3219e2762a2525b42285b40898c" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/class-fixture-same-code-function.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-same-code-function.json", + "bytes": 1767, + "sha256": "341e512127668c4de5ca767dd4bb223030e27d0c0e8d431f8e79c6dca5fd8a2e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-0-class.json", + "bytes": 1873, + "sha256": "26af469519b9f3dd7acf8831ece616283e979b40faddc7b29197abce8df0db44" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-class.json", + "bytes": 1909, + "sha256": "01aaf9a5d5ea9ce441705030dd9297b4f17d5380033f5391419fbf2d5b601cb6" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-method.json", + "bytes": 1927, + "sha256": "410d06f57a0080ef6c37fb33aed429ee962d30a7863c175168734e1e2d7f923b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-classmethod-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-0-class.json", + "bytes": 1867, + "sha256": "25eb66721031191271d9626f1bf7523e13b513d7678d5ecc1d35e0be976b4e84" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-classmethod-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-class.json", + "bytes": 1903, + "sha256": "04d4e89a3a2b92c082cf0aaccb4277242bec7634514c58a0b1b49b61a04cf984" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-classmethod-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-method.json", + "bytes": 1921, + "sha256": "a963d2a18f49db75d323753a79a94b0107968d1f08b82b6883268a1421eab015" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-staticmethod-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-0-class.json", + "bytes": 1869, + "sha256": "568b0a307744c6641540de0a784df5bc008e659979610ec499c9cc9459fd606a" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-staticmethod-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-class.json", + "bytes": 1905, + "sha256": "afe7d9ee3efccf96eb12223429076c738107744632060ad4d042b2ad8c6a6d08" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-descriptor-staticmethod-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-method.json", + "bytes": 1923, + "sha256": "b88dd6dc0cb2a4a9d4c9eed089d113cddca817592c56dd73b77066b75fcf035b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-getattribute-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-0-class.json", + "bytes": 1649, + "sha256": "0dee1335e4cbda32db87edd5599d72d1df9180603811774909b4503d7f859184" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-getattribute-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-class.json", + "bytes": 1685, + "sha256": "1172452fd60ad71cecf559fa85b41ca7b06ec23a8415c9cad42809880ccfe64b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-getattribute-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-method.json", + "bytes": 1697, + "sha256": "07de2a7308d1daf0471d7bf7e8828002f5cd38196dd472dcf0cd79e92c31048b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-init-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-0-class.json", + "bytes": 1761, + "sha256": "d1d33ccae08f14f09119a8a6b3626808dfa978a07444b5e3d2bda769d943dc4a" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-init-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-class.json", + "bytes": 1797, + "sha256": "5b9553750ca2ac15fc49747f99440f51aed96dd4b9ddc0936ef2a2bd807dd70e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-init-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-method.json", + "bytes": 1813, + "sha256": "7b43401f48938a5463edd80bc2a3bfad399172f8bcc3c4c3617e3f422a3877b7" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-metaclass-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-0-class.json", + "bytes": 1667, + "sha256": "46c621fc5484d76a14d919957d7f90b0420a2c6a900c63998dca8d9bbd0e52eb" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-metaclass-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-class.json", + "bytes": 1703, + "sha256": "9215105e7b571e2c4701f57ebe78f54f11e0d8f72b538653228c4b9dbdff9524" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-metaclass-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-method.json", + "bytes": 1715, + "sha256": "07bf963387e8b9eccbbd21b1e9b63d82696b1995f6afa3503074d08f7ed9b3b5" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-new-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-0-class.json", + "bytes": 1624, + "sha256": "ede17e3fc4bb66f5c6ed26ea556a3d0a4789270679b9e2fd1e7e816b31a8e422" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-new-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-class.json", + "bytes": 1660, + "sha256": "dddb4d44d414bf2d46d153cb8ae49513f024d3543602257b1ee95094179d88ec" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-new-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-method.json", + "bytes": 1672, + "sha256": "47cfdd572db6073384955638aeaad45a2ddbae64fbf158d70872ee5226f64b46" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-setattr-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-0-class.json", + "bytes": 1646, + "sha256": "b483f9d2671ebb5cdeb631a7568eb70cb83c487fd661b2bf6adced67e7fdcc85" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-setattr-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-class.json", + "bytes": 1682, + "sha256": "28f5142a17358121c269e10fd9ffafc0ea3d4b112a1097567307c2d14417bd52" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-setattr-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-method.json", + "bytes": 1694, + "sha256": "c237adae8bdb80752ce49fde53f079b2e31b068dc5a8433473b20cb9dbcfcbe1" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-special-descriptor-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-0-class.json", + "bytes": 1769, + "sha256": "ebd9a18df694fb40ca6f5da1ceced7cfac929f6044c4f9fcb2b3d8cca5298869" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-special-descriptor-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-class.json", + "bytes": 1805, + "sha256": "608854d29eac360c739f2c5af44f02d31178a6410e6c461e4036f1193948e74e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/construction-special-descriptor-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-method.json", + "bytes": 1817, + "sha256": "96262d8e36d7bb6f22712efab3f9a35eeb734e6da5ba418b4a99db559fb602b5" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/custom-run.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/custom-run.json", + "bytes": 1645, + "sha256": "e3e625661c9c38144ee6061543a85a501bef445dae70756f72285ca07bf5fdcb" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/during-body-change.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/during-body-change.json", + "bytes": 3883, + "sha256": "5c959d8ae6c0194621d7415ce1c15dd93d72b9ac639cce9b93845019d84f3368" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/hook-alias-assertion.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias-assertion.json", + "bytes": 1832, + "sha256": "f05d7f91b447a7ef23ed68fda8a54cf5fed6410467dd7214daaab54e906d761c" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/hook-alias.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias.json", + "bytes": 1780, + "sha256": "375f9f90fb83e422c54b95d24b39ab2ee0631bb667d5ceea4a517322772b5bb9" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/hook-omission.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-omission.json", + "bytes": 1788, + "sha256": "e7bfd1a47a2acea8a1da110ab215338e2befd3e3d54cd4df38ef4774219130f4" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/hook-subclass.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-subclass.json", + "bytes": 1975, + "sha256": "33417db146f19f92c2cfe599e40bb0225ed139fa09b15b5b4886976ca8052772" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/instance-class-change.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/instance-class-change.json", + "bytes": 3718, + "sha256": "95fcb4816eddc851c1b45dada80071b9d104861fc8a43777b0111191089f006a" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/module-dir-cannot-hide.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/module-dir-cannot-hide.json", + "bytes": 3360, + "sha256": "ef973b7ee4e39272352ac7814c2ea10052c58c5a88959460bd381692f8e8883a" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/named-assertion.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/named-assertion.json", + "bytes": 3099, + "sha256": "891a71ff322a9264a243d16fe0a73718a7c4ee83cf1d5c5d08d1d349bfc08149" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/named-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/named-class.json", + "bytes": 2034, + "sha256": "f08ee4433aefb6812240ed67ca2cde6b8cd1a734871b66a9e97a619214fb1f48" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/named-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/named-method.json", + "bytes": 1765, + "sha256": "5162f30a47d3454c618339bd9a1e173cb9c19d1d50a4f6526ac86d494d765125" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/selector-helper-descriptor.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-helper-descriptor.json", + "bytes": 1843, + "sha256": "53ec32188bcc0cf7dbecd5090df50d7471499f08eb4d1e28f96b77cfb7950612" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-normal-fixtures/selector-proxy.json", + "destination": "evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-proxy.json", + "bytes": 1680, + "sha256": "0ca3a0a46860bb46d3acd595ebfc972ac092ba62ba2ed423c8c59d6d09b7d3ac" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/callable-factory.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/callable-factory.json", + "bytes": 1657, + "sha256": "c2a5b9cfb281aef33633fa9578a101ce5cb1ff020babdbb74049d8fb91ff26c6" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/class-fixture-code.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-code.json", + "bytes": 1700, + "sha256": "7d61e4ca8552b21a67208ae4653ec457a2c827f41943eeefbd126f2af37a10f3" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/class-fixture-function.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-function.json", + "bytes": 1686, + "sha256": "f03e0e84da0ff87e23ade72b9a94d579251afc78f29381c03aedf0e0df37ebb9" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/class-fixture-same-code-function.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-same-code-function.json", + "bytes": 1767, + "sha256": "ab86dd2b7fccd98ab2ae18c90f093fe94a52f32a574d6e3bfdd9cbaffefdbc22" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-0-class.json", + "bytes": 1873, + "sha256": "78c083cc18e4f908922c5882dc29cc27c7b0d6bd92a32d110f0cde435b81c078" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-class.json", + "bytes": 1909, + "sha256": "724623c00f5ceb38818e1f150b5cb25c7bfec9c50919a10f93eb39fe34eb1ef5" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-method.json", + "bytes": 1927, + "sha256": "5fc122335d2e5b17814c2c4cf7dfa4d212b3574830662bd47f26f164efbcbaf7" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-classmethod-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-0-class.json", + "bytes": 1867, + "sha256": "0b1443cc3897702a395dfa2660ea72d05ff4fcafee159c9f35f7f6cfa2ee226a" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-classmethod-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-class.json", + "bytes": 1903, + "sha256": "9685fd8cf9e4b8ac03f1c56e68d91f8ad3d44836e6d5fb83897eaf4ac427e8e7" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-classmethod-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-method.json", + "bytes": 1921, + "sha256": "7f41e4af4ba678c57cb21ea23531d37dc50b66f145961790d664b61eb3b5264c" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-staticmethod-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-0-class.json", + "bytes": 1869, + "sha256": "3e00185569ff667fa5f75ccf1f9f2f518a020eaf299a114e07f5fe1543bde2b1" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-staticmethod-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-class.json", + "bytes": 1905, + "sha256": "8662a4aa9feaef9ec14a0d46b7160bd6e22097fa27e393d8317671daec2e9842" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-descriptor-staticmethod-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-method.json", + "bytes": 1923, + "sha256": "7d89b10f9c67ce70e02e03854ea76d7d41b2bf1ba1cf3205551cd34dbb7eda17" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-getattribute-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-0-class.json", + "bytes": 1649, + "sha256": "462dfaecc1d488f2b62d5d3c59964a6805529b892a2632cc4083b7ffb96280c3" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-getattribute-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-class.json", + "bytes": 1685, + "sha256": "efd1c77ee96f54b015f86d1ba1f53ff712ab8e3cbfcc6ce6430605849b3af366" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-getattribute-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-method.json", + "bytes": 1697, + "sha256": "69ae82686e8c8ccddbb6544bacc181f86be1873f99d4d390bd92fba6d94e2fab" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-init-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-0-class.json", + "bytes": 1761, + "sha256": "bc067157b06c8c489d7d3492b90715f3edbc470c34820d436efd3f7c4d55e04b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-init-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-class.json", + "bytes": 1797, + "sha256": "a8eb6a232635af9c8fd96594f3944c5267abba8403982aa47a18478193925d31" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-init-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-method.json", + "bytes": 1813, + "sha256": "27984e5fda9fd7fbfc3c87a40c7f4799253f9c8bef98430f1b6d575da0e35066" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-metaclass-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-0-class.json", + "bytes": 1667, + "sha256": "771dd26138af686e1a8577f7c2b8f434185b05099cc758b59a6cb53a93165751" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-metaclass-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-class.json", + "bytes": 1703, + "sha256": "f8c6bc5bbf5769a24758474a732649e3290ffd37c471e10a22cb8d551e0da1d3" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-metaclass-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-method.json", + "bytes": 1715, + "sha256": "6a900f9ca2f113651aaadc71bcc5893094108348b3040b4d7749a0044f41d4a3" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-new-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-0-class.json", + "bytes": 1624, + "sha256": "ec55074dee9f951752350cc9c3a9670be62c9ccf16bed023d971d4ba2232f961" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-new-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-class.json", + "bytes": 1660, + "sha256": "e6bb96c2389d91af7ea845c8b4afc72d8e2206b5afab8a7a4b485c9f21fefc77" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-new-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-method.json", + "bytes": 1672, + "sha256": "9c2a8e872fa42720c1abf64fd4096ece32df776a9792bcb23f703824534ee5fe" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-setattr-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-0-class.json", + "bytes": 1646, + "sha256": "3304d65fd3be49229acdf0030514a89f657803b60321558bfa7d8a062664aaab" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-setattr-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-class.json", + "bytes": 1682, + "sha256": "0d26053de33a38a593ae05f7335f53ecd755e5a13e63356ba27ae1d2e1777a37" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-setattr-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-method.json", + "bytes": 1694, + "sha256": "fd5047f5bba5077e0a91f42fd82b3c2ffdf205d92a202cc466ff303172767931" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-special-descriptor-0-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-0-class.json", + "bytes": 1769, + "sha256": "e23fc74933cc8a6c5dffc19e1e16b6dc77f546bb53c9327f483c97fae61b63cf" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-special-descriptor-1-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-class.json", + "bytes": 1805, + "sha256": "4e9eceaadf9deb73b440a68c988278d521ab7e2e892bcd0c6932fb0325c6536e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/construction-special-descriptor-1-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-method.json", + "bytes": 1817, + "sha256": "10b47a166925013ebbba8775c9e0d21ea63284c9de24d8d3153c00108400c08b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/custom-run.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/custom-run.json", + "bytes": 1645, + "sha256": "6e31fbde022c727fa9ddffcf123ec9f6040310818a5223734a91e0495d7cfce0" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/during-body-change.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/during-body-change.json", + "bytes": 3883, + "sha256": "c88c3eee8e04474c20f29a0e5fe9bc3413ebd25d3fd484a8b278f27037a67421" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/hook-alias-assertion.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias-assertion.json", + "bytes": 1832, + "sha256": "3baf8859f8a1390013aa5f8e0a98645bfc8488616590234835b3072dec3cf790" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/hook-alias.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias.json", + "bytes": 1780, + "sha256": "3cfa0cb5063ce89a5af41d568effc2a446adea7f6a390f09af5c15a3b2cb9cff" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/hook-omission.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-omission.json", + "bytes": 1788, + "sha256": "4a9b7ec8df520455c1db34ba9a786220f48e32d53fe11b63664f959431b61408" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/hook-subclass.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-subclass.json", + "bytes": 1975, + "sha256": "bd558c070b7c6da3b0b7a5eface3787131ee8b554a8901517cb2166bac04a0b4" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/instance-class-change.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/instance-class-change.json", + "bytes": 3718, + "sha256": "7bd20519103c3fb951bd9ffdcf341e8e139e646eface09863537729cbb62f761" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/module-dir-cannot-hide.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/module-dir-cannot-hide.json", + "bytes": 3360, + "sha256": "c695128ff48d51d9efdb6417abf5f9388779cd682d7d99c3f61ec8cb9d012ffd" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/named-assertion.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-assertion.json", + "bytes": 3099, + "sha256": "c3e2274f36ea5ea8293e243bfd80816f115a691fb965cb5fbf2d7eb21b2e416b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/named-class.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-class.json", + "bytes": 2034, + "sha256": "0259ba58ef00f214fd8261b1f5ab37c6b46a9da4c230256c35e404a72b5453c8" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/named-method.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-method.json", + "bytes": 1765, + "sha256": "feda2c2748fd94eddb687fb78327b64287024a34daccfa60ab286627ca78f89f" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/selector-helper-descriptor.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-helper-descriptor.json", + "bytes": 1843, + "sha256": "1071416aa55481a6983c8894277c51ffd532d13aafa70e526b6532d1c82585a0" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-optimized-fixtures/selector-proxy.json", + "destination": "evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-proxy.json", + "bytes": 1680, + "sha256": "6e66cc8921104aced73dfa21b4d3999222601a1a9fe29e496553c058868f816c" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-red.json", + "destination": "evidence/grader-identity-fix/raw/identity-red.json", + "bytes": 24268, + "sha256": "f07ee0005bd473a7fc58a37044e3551f6cfd1ee0ccd56084c662a52a8f3614ba" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-refresh-normal.json", + "destination": "evidence/grader-identity-fix/raw/identity-refresh-normal.json", + "bytes": 2499, + "sha256": "d0ebe8680885cc7ec059046e3b5c63a1f1b49a1a48af313251baf81bf10ab471" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-refresh-normal.log", + "destination": "evidence/grader-identity-fix/raw/identity-refresh-normal.log", + "bytes": 349, + "sha256": "12943be9aa88c5f4f2f2eee5176e24c094caff2d735fce2fbb8405d4cbff307c" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-refresh-optimized.json", + "destination": "evidence/grader-identity-fix/raw/identity-refresh-optimized.json", + "bytes": 2499, + "sha256": "d0ebe8680885cc7ec059046e3b5c63a1f1b49a1a48af313251baf81bf10ab471" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/identity-refresh-optimized.log", + "destination": "evidence/grader-identity-fix/raw/identity-refresh-optimized.log", + "bytes": 349, + "sha256": "12943be9aa88c5f4f2f2eee5176e24c094caff2d735fce2fbb8405d4cbff307c" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/selector-descriptor-normal.json", + "destination": "evidence/grader-identity-fix/raw/selector-descriptor-normal.json", + "bytes": 4620, + "sha256": "e66948a873f99a7699ba574a8e65f449b75922d8719eca04a05f8089598b593f" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/selector-descriptor-normal.log", + "destination": "evidence/grader-identity-fix/raw/selector-descriptor-normal.log", + "bytes": 194, + "sha256": "19faafeb47af9f8e3164459d6fbc0b205e8e5d15f1a73b39bad095f1ee1208ee" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/selector-descriptor-optimized.json", + "destination": "evidence/grader-identity-fix/raw/selector-descriptor-optimized.json", + "bytes": 4620, + "sha256": "e66948a873f99a7699ba574a8e65f449b75922d8719eca04a05f8089598b593f" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/selector-descriptor-optimized.log", + "destination": "evidence/grader-identity-fix/raw/selector-descriptor-optimized.log", + "bytes": 194, + "sha256": "19faafeb47af9f8e3164459d6fbc0b205e8e5d15f1a73b39bad095f1ee1208ee" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/receipt.json", + "bytes": 13535, + "sha256": "1fcdcec589357c9698002816c9a2cc2da7ef89e9bec3c3fcc77d072d871b4ba6" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stdout.log", + "bytes": 10324, + "sha256": "10c4a74f1879280a183048df3769c22da4bf0b44d00a0b4c5362b47fa3348974" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/receipt.json", + "bytes": 3078, + "sha256": "95f38caf779339f0df5144950fbd8ebb3db1cbe830dd4b340966a63164131bd1" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stdout.log", + "bytes": 1503, + "sha256": "33c243b3f417b51b4e543cadb5adcffc374e144da7663a2a3708031366196775" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/receipt.json", + "bytes": 4167, + "sha256": "daea778ff8a281508b831197629c86b49afddc9a9a97b67652e295479d4a2437" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stdout.log", + "bytes": 2046, + "sha256": "884434c0d991ede0e8063200abba1739645a6539f64fe8dacd3411c0d7c0fc48" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/receipt.json", + "bytes": 4263, + "sha256": "d5ec3c04816ec3b503b76ca183ffec2abfdfe5a5667bd5385b5a7c682fa77776" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stdout.log", + "bytes": 2323, + "sha256": "f2fbc257aa08c8e15112265ece739fa256c5f1e684543fedcbc09c956526f39f" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/receipt.json", + "bytes": 3665, + "sha256": "1e732c2804b4c5b170e6145c0b96b401f9acf187dda6276bbf542ec9c68c3ca6" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stdout.log", + "bytes": 1736, + "sha256": "e18c136278aef1621300591f38faeda9c0355457492a68bd160e9cebc2c6f6a1" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/receipt.json", + "bytes": 6677, + "sha256": "05a8e9981eb5531b00fb239eb95ef99dd0ae6f98257d8b238904665053f77e07" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stdout.log", + "bytes": 4436, + "sha256": "bb4c88de0ed2ae924daadd6305b6b89589d202efd7990829cf97d6170e805908" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json", + "bytes": 3071, + "sha256": "891158d4327bcdc26d56c30bd6b513a8c53554d8d9663600f38dee454893ab33" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stdout.log", + "bytes": 1581, + "sha256": "2b6711f7cdd53ee3ac9f678334e9ea0a7bb986fff5db6457adfb77f53b92de23" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/receipt.json", + "bytes": 11044, + "sha256": "77a2dfd576779a82b72e555ca362d634c4489e4142f7af7e9b7ddae147133fb1" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stdout.log", + "bytes": 8030, + "sha256": "fdece6b874654dbc2db2f62990a9d5095a722d112a701784a3b067aad6db9127" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json", + "bytes": 13547, + "sha256": "acc0ba6b8c760d73a5c4455a61f5345bc9c87d4f859de5dc39f6ceccd3a39a74" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stdout.log", + "bytes": 10336, + "sha256": "59aaad6c18be71d742a8d28887402d67d0471e5b622a65509ed91abd66c4f52a" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/receipt.json", + "bytes": 3081, + "sha256": "f9894757e336fd605f9f096635a4dd84e4e9c31f793adde6f6c80d388ad65dc5" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stdout.log", + "bytes": 1506, + "sha256": "5d7da0bd3a60b3302398bdc4b8d5eb96348ddd78377635acf3ce2e781a5c2f0c" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/receipt.json", + "bytes": 4170, + "sha256": "d5049184078f8d9ebe83a36029688e186f303a66e1e6807f6828b47485a33470" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stdout.log", + "bytes": 2049, + "sha256": "6987a74bf9ea756fcdaf36278325855b3dae0500a173e31fd528e3a21ea55327" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/receipt.json", + "bytes": 4266, + "sha256": "f3f82222d60248f95cd9902f05bec1948f878f4d38dd2732ac73042a44e6219b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stdout.log", + "bytes": 2326, + "sha256": "012ddee87c272f33e54eca3222781cd5905b92ede14ca026df194ac1df2d7dd5" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/receipt.json", + "bytes": 3668, + "sha256": "bb5a76e0d130e5c30c9c6103ad15cad420a0d3b87a5a4ee582af335b76bb81c8" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stdout.log", + "bytes": 1739, + "sha256": "678e86c135c1f105c3734a8895c3903c131720a4371805deed1a914d90061afb" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/receipt.json", + "bytes": 6683, + "sha256": "8cb24652959e3f72923cddca041caa2b4ceee7243e8a42c7f4ac55d76dd7f508" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stdout.log", + "bytes": 4442, + "sha256": "ffa5c35c6397d2bb7a6b94ed86557075793c914fa138536c0a29d46302a7f3ba" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json", + "bytes": 3074, + "sha256": "88676906a3284c2eba755067453b4ff764488c4d0869d467c04324631e52e68e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stdout.log", + "bytes": 1584, + "sha256": "178195cfb98f52d296c6baa95898a98f47b41c3403b8c1b3154627b9999b332b" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json", + "bytes": 11056, + "sha256": "7fccce4dc941be0b6c16db7bfdc6ff9611b42fa5d5761b0ec4fd94476224afe1" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stdout.log", + "bytes": 8042, + "sha256": "ab135043b118837bf905b6df39bbd2e050f0a7c0a6b7bd07e51f619342af82fb" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py", + "destination": "evidence/grader-identity-fix/historical-source/initial/tests/test_mutation_runner.py", + "bytes": 27616, + "sha256": "4e33dcb77a0f897976462e8c10b46de65bc2eeddba8d2b0f3604f3b3832f2b19" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/receipt.json", + "bytes": 31177, + "sha256": "57e4f41a97f7826a2e3b74876074bddd4d795ec2559f30390cd0dc2c5fd47e74" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stdout.log", + "bytes": 23180, + "sha256": "f0ea6ab6dd9e811970b3a88072f3a0302da8b78cc84f5c6ef5fb9c6f3b599198" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/receipt.json", + "bytes": 4018, + "sha256": "d76c9f2de49fd3483316ea73906161dccdcf4f00f617a756602c8d7e9b474ce5" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stdout.log", + "bytes": 1605, + "sha256": "f9b63d5c6a4131a7e19c22aa4bd26962f5f5359f847bf7cbfd1fb0896b55e3fe" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/receipt.json", + "bytes": 31219, + "sha256": "e7ffdf64fc70ce922975afc8c93ce2f3746004508447aa60533407f1797aaaec" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stdout.log", + "bytes": 23222, + "sha256": "c8c278d78681346c1b2ad667b45bd09c68426641baeaa181b229d648a3db1991" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json", + "bytes": 4021, + "sha256": "ea6cb0be1e9d3e72af70d10b9dfe766f3ff6583f7b2873de5c604c83dfe96648" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stdout.log", + "bytes": 1608, + "sha256": "9652689099b9e185b2b858ab07eed2d2b3f2f0a6384e5df8f33f46236e9eab58" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", + "destination": "evidence/grader-identity-fix/historical-source/construction/tests/test_mutation_runner.py", + "bytes": 29955, + "sha256": "708061a74bdc800addd5394f058605f4e063e172dd6933e715639a499f6c7956" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json", + "bytes": 3090, + "sha256": "3984c30e3ba26ab3d69e65f95d09b8a1229de9e19ae4e1d59535130e92afeb32" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stdout.log", + "bytes": 1515, + "sha256": "1997cb29189ac160c6308dd7b52f99e390492d7d2e62f7ba326ddf2dcee26042" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json", + "bytes": 3093, + "sha256": "27c44a042919e46da376ed5d6dbec92c1945582e37ee506aee86026bf2988e30" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stdout.log", + "bytes": 1518, + "sha256": "6e81609f3a660a9271568cd569f79e949751e299008bbd82f0416731c9e7c383" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/tests/test_mutation_runner.py", + "destination": "evidence/grader-identity-fix/historical-source/selector/tests/test_mutation_runner.py", + "bytes": 30917, + "sha256": "849c787473367390fa56d8b75447bd489d18a1a308df0fd94f910dd47decc4de" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json", + "bytes": 14940, + "sha256": "f28545912be951e689daf784c6dcea14af32956523e8f50ea211310df7b8f1e9" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stdout.log", + "bytes": 7664, + "sha256": "3aae99517742cc9bb25837f59f624e0be7d1818aa10e285df19ddc15cf541347" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json", + "bytes": 8063, + "sha256": "8fb296c76a2a74db157771d31a1e56362b079d1bb1bfc981380a9a5e03ff1bea" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stdout.log", + "bytes": 1490, + "sha256": "c33daa05a2d9aeeea38bb78160afcadb97a56a8ecad784c1439518c06e3d7566" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json", + "bytes": 12194, + "sha256": "9bcd76726a5c1a2c5ce92b2315d3aa5d7b160b274e87b2facc8ab785f4c4101e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stdout.log", + "bytes": 5216, + "sha256": "b9bc6e17bbf9f330b77d512247e67529081b60c770045c6a5fa06f334a7edfa8" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json", + "bytes": 14952, + "sha256": "6bd610fd832daf45a9d69870ff62f51a0fb174d057675b3f5bd2df7a8499c860" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stdout.log", + "bytes": 7676, + "sha256": "d1e7937d55ccfab67f8f18219c3af5fa75526ab326094e1fbddc07af0f0bff26" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json", + "bytes": 8066, + "sha256": "80e1a55c4b1832e4b1b2e3f8bcf52ef2fd4649c90476bae9e706e5dd178c0c15" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stdout.log", + "bytes": 1493, + "sha256": "140cc0a2a7fc415fdf1e374d27fc239cf87f45d5a7ac433f92fa8f0ce000ad09" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json", + "bytes": 12203, + "sha256": "b7d9c8d9134e431e1a469396457924e4e1e0bce77603e0185ea9d93aeefcb503" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stdout.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stdout.log", + "bytes": 5225, + "sha256": "32aac4525911039afc5a12ba8223f298f96add9da0ef20f2aaed3bd1c666bccd" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stderr.log", + "destination": "evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", + "destination": "evidence/grader-identity-fix/historical-source/exact-descriptor/tests/test_mutation_runner.py", + "bytes": 32402, + "sha256": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/mutation_test.py", + "destination": "evidence/grader-identity-fix/review-probes/constructor-alias/mutation_test.py", + "bytes": 38127, + "sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/receipt.json", + "destination": "evidence/grader-identity-fix/review-probes/constructor-alias/receipt.json", + "bytes": 966, + "sha256": "b50b84095dd7242ca9f886f200b204996ea4aa8758904ab087402f3761fc53ad" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/stderr.log", + "destination": "evidence/grader-identity-fix/review-probes/constructor-alias/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/stdout.log", + "destination": "evidence/grader-identity-fix/review-probes/constructor-alias/stdout.log", + "bytes": 107, + "sha256": "fb5cb4140fb2a2bf6a85f8dda47f5b90958120c09f1e6e8f9444b8e0254e16cf" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/tests/test_auditor.py", + "destination": "evidence/grader-identity-fix/review-probes/constructor-alias/tests/test_auditor.py", + "bytes": 482, + "sha256": "732ae96329bbe88c287ae6bf30a605c035a255487de99bda7bb116641d5b5be8" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/trace.txt", + "destination": "evidence/grader-identity-fix/review-probes/constructor-alias/trace.txt", + "bytes": 12, + "sha256": "f97a8f27a73b181cc6bf7fb6a09fb0c2203925d74ad8309144c33b5c0ea0a14f" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/RESULTS.json", + "destination": "evidence/grader-identity-fix/review-probes/constructor-alias/RESULTS.json", + "bytes": 2204, + "sha256": "ed28bd7aea01ffcb005e72c0519678c15b0a8f08b651b196deb30ea5bcf5bee7" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/mutation_test.py", + "destination": "evidence/grader-identity-fix/review-probes/method-descriptor-alias/mutation_test.py", + "bytes": 40703, + "sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/receipt.json", + "destination": "evidence/grader-identity-fix/review-probes/method-descriptor-alias/receipt.json", + "bytes": 754, + "sha256": "30f2cea96c26254091866dc20aa422f9e11000f4d9843155f0efcf6376db0b7e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/stderr.log", + "destination": "evidence/grader-identity-fix/review-probes/method-descriptor-alias/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/stdout.log", + "destination": "evidence/grader-identity-fix/review-probes/method-descriptor-alias/stdout.log", + "bytes": 61, + "sha256": "fa778f50e9f9c39e873e705416fa174c2b16fcf625c1232dd12042cea454a220" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/tests/test_auditor.py", + "destination": "evidence/grader-identity-fix/review-probes/method-descriptor-alias/tests/test_auditor.py", + "bytes": 556, + "sha256": "83cacd8148b1a86bdcc38c9fa678e7a393302954fecf7c2f312df22589a94fa2" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/trace.txt", + "destination": "evidence/grader-identity-fix/review-probes/method-descriptor-alias/trace.txt", + "bytes": 17, + "sha256": "5ec777d8cd0c97d9e738631bf3c0d513e644deef6a3453ce7f95fd4c7888f143" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/RESULTS.json", + "destination": "evidence/grader-identity-fix/review-probes/method-descriptor-alias/RESULTS.json", + "bytes": 2316, + "sha256": "eef0a77e541b11d419aa52f3cb54bb8ad34e0cfc3949cada1ecaa83b4c6d3975" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/mutation_test.py", + "destination": "evidence/grader-identity-fix/review-probes/module-dir-omission/mutation_test.py", + "bytes": 38127, + "sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/receipt.json", + "destination": "evidence/grader-identity-fix/review-probes/module-dir-omission/receipt.json", + "bytes": 783, + "sha256": "fc2c9662718e296b46bfb4d49340c9cb66f11b3533edb43d4e0bfa492d81c465" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/stderr.log", + "destination": "evidence/grader-identity-fix/review-probes/module-dir-omission/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/stdout.log", + "destination": "evidence/grader-identity-fix/review-probes/module-dir-omission/stdout.log", + "bytes": 65, + "sha256": "b019c2670dfbf50a9fb03a6b2070b2c973c58ab6bd2f26a1d0ad378669b8eacf" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/tests/test_auditor.py", + "destination": "evidence/grader-identity-fix/review-probes/module-dir-omission/tests/test_auditor.py", + "bytes": 436, + "sha256": "62371bcd5cd50b1c651a4076fcbe1ecd82f14cce6b848d9b2a99eb4a07ef284e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/trace.txt", + "destination": "evidence/grader-identity-fix/review-probes/module-dir-omission/trace.txt", + "bytes": 6, + "sha256": "b640e840b19d378660b32fb51ae18d67dccb4a8596a29e7bd72c1b2ae5928f41" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/RESULTS.json", + "destination": "evidence/grader-identity-fix/review-probes/module-dir-omission/RESULTS.json", + "bytes": 2111, + "sha256": "661e6b7046cdcd42ad40e8522caa9e187411eb2e3cf227cbf9e3eeed840c1a32" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/mutation_test.py", + "destination": "evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/mutation_test.py", + "bytes": 41545, + "sha256": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/receipt.json", + "destination": "evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/receipt.json", + "bytes": 966, + "sha256": "b50b84095dd7242ca9f886f200b204996ea4aa8758904ab087402f3761fc53ad" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/stderr.log", + "destination": "evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/stdout.log", + "destination": "evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stdout.log", + "bytes": 107, + "sha256": "fb5cb4140fb2a2bf6a85f8dda47f5b90958120c09f1e6e8f9444b8e0254e16cf" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/tests/test_auditor.py", + "destination": "evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/tests/test_auditor.py", + "bytes": 527, + "sha256": "38b8b9585b565a3f89d7506ccab34a5c56d3198ab8ef6ddf799b06d98d9633a4" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/trace.txt", + "destination": "evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/trace.txt", + "bytes": 23, + "sha256": "7704f2c598dc8f36e37fc0e6bd8d0193f2fda42a58dbb5a311727f44450e9560" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/RESULTS.json", + "destination": "evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/RESULTS.json", + "bytes": 2324, + "sha256": "6218fbfe350d4cd55cebff84cdcb90f5fcea2b1df96bca671e339ef574fdf0cf" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-preflight/REPORT.md", + "destination": "evidence/grader-identity-fix/initial-preflight/REPORT.md", + "bytes": 2636, + "sha256": "b234d22b7ffc2279e073237a372270d7011afd5e74a5984483f1ea1ed5287054" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-preflight/RESULTS.json", + "destination": "evidence/grader-identity-fix/initial-preflight/RESULTS.json", + "bytes": 14791, + "sha256": "a80dba831d717c0faae34cb6e872ef2dd1aa2b613686ce323e3846fc59c6b3af" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-preflight/SOURCE_BINDINGS.json", + "destination": "evidence/grader-identity-fix/initial-preflight/SOURCE_BINDINGS.json", + "bytes": 421, + "sha256": "541a7ea8c8e87e53de347958a1e230df4d0697418b9e312b2cf1e82b6dc1a91e" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-preflight/EXISTING_APPLICABILITY.json", + "destination": "evidence/grader-identity-fix/initial-preflight/EXISTING_APPLICABILITY.json", + "bytes": 1534, + "sha256": "cf408ac54c9a94a7eb8a85a247711cb8482bb9a572cab53b2b0d0c13f6202b52" + }, + { + "source": "/workspace/cbz-0/delivery/grader-identity-preflight/preflight.py", + "destination": "evidence/grader-identity-fix/initial-preflight/preflight.py", + "bytes": 5605, + "sha256": "74aeaa2c2088dab64196dc91de3ba8e261235292675febf75d62c449f4a6bc5a" + } + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json new file mode 100644 index 000000000..bb7df6ebb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/CURRENT_COMPOSED_ADMISSION.json @@ -0,0 +1,60 @@ +{ + "status": "PASS_SCOPED_COMPOSED_IDENTITIES", + "tool": "layer_a", + "scope": "Standard ordinary unittest declarations; seven new identity methods, no full production G0/mathematical run", + "fresh_distinct_affected_methods_per_mode": 19, + "new_identity_methods": 7, + "guards": { + "distinct_themes_per_tool": 14, + "observations_this_tool": 28, + "observations_both_tools": 56, + "stage_sizes_both_tools": [ + 32, + 8, + 4, + 12 + ], + "all_assertion_killed": true, + "zero_errors": true, + "rule": "Earlier source-bound observations reused after specific predicate/ordinary-source applicability; not a single final-source full campaign", + "production_scanner_or_replay_mutants": false + }, + "review": { + "path": "shared/independent-review-final.json", + "sha256": "f47d13cc789829966ebf60e7b5e5a9e45059e5ed5db4a5089a3b2ca7534993b4", + "verdict": "CLEAR_SCOPED_ENGINEERING" + }, + "final_runtime_sha256": { + "mutation_test.py": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "tests/test_mutation_runner.py": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866" + }, + "source_generations": [ + { + "stage": "initial", + "path": "evidence/grader-identity-fix/historical-source/initial/mutation_test.py", + "sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "binding": "reconstructed uniquely by inverse declared mutation and exact original SHA256; not a new execution" + }, + { + "stage": "construction", + "path": "evidence/grader-identity-fix/historical-source/construction/mutation_test.py", + "sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "binding": "reconstructed uniquely by inverse declared mutation and exact original SHA256; not a new execution" + }, + { + "stage": "selector", + "path": "evidence/grader-identity-fix/historical-source/selector/mutation_test.py", + "sha256": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "binding": "reconstructed uniquely by inverse declared mutation and exact original SHA256; not a new execution" + }, + { + "stage": "exact-descriptor", + "path": "evidence/grader-identity-fix/historical-source/exact-descriptor/mutation_test.py", + "sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "binding": "reconstructed uniquely by inverse declared mutation and exact original SHA256; not a new execution" + } + ], + "historical_source_limits": "Developer probes/controllers are retained frozen-source provenance, not automatic commands against a later revision. Trusted imports are not a malicious-code sandbox.", + "same_run_full_campaign": false, + "math_lean_scanner_or_ci_replayed": false +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/GUARD_EVIDENCE.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/GUARD_EVIDENCE.json new file mode 100644 index 000000000..b9ab6de18 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/GUARD_EVIDENCE.json @@ -0,0 +1,803 @@ +{ + "tool": "layer_a", + "results": [ + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-module-hook-refusal", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "d3c75a4a0e016689305e35efd4b0e411d70ab407c6ba848ec3f56311535b95e5", + "test": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "accept-callable-selector-factory", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "15c3862ae29cb0a7c9d0428ef71b3df36b51c42f2c232e97b678c02d6ebcab2c", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-selected-class-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "50fb2b9807aec42ea9178932281358efd04441ed7a388df0b334708058739f74", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-original-function-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "097aecc889eca40d5de5cacd5190728d4bfc64cf69b99f3b676f67f48363831e", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-original-function-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-original-code-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "f1177fa84d86dcfd6b8e2c01cfbe5ee800abef85887c0631e1f73c7912923a42", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-original-code-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-declared-function-chain", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "657dd39dd0bf9eafeaa962bfa34c7dcb3dbef9eb55320bc59cd0d623f20844bb", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 2, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "skip-before-fixture-identity-validation", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "5563a02b0532f7833fc94744004b2a18c27ec146c62f4d17f9a3e7c4a149f658", + "test": "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "skip-runtime-identity-validation", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "c0beceede6c771e4cd8b506f01bfb05c5cb40736f0e4765f6cfdd2527aab13f7", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-module-hook-refusal", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "d3c75a4a0e016689305e35efd4b0e411d70ab407c6ba848ec3f56311535b95e5", + "test": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "accept-callable-selector-factory", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "15c3862ae29cb0a7c9d0428ef71b3df36b51c42f2c232e97b678c02d6ebcab2c", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-selected-class-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "50fb2b9807aec42ea9178932281358efd04441ed7a388df0b334708058739f74", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-original-function-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "097aecc889eca40d5de5cacd5190728d4bfc64cf69b99f3b676f67f48363831e", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-original-code-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "f1177fa84d86dcfd6b8e2c01cfbe5ee800abef85887c0631e1f73c7912923a42", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-declared-function-chain", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "657dd39dd0bf9eafeaa962bfa34c7dcb3dbef9eb55320bc59cd0d623f20844bb", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 2, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "skip-before-fixture-identity-validation", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "5563a02b0532f7833fc94744004b2a18c27ec146c62f4d17f9a3e7c4a149f658", + "test": "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "skip-runtime-identity-validation", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "c0beceede6c771e4cd8b506f01bfb05c5cb40736f0e4765f6cfdd2527aab13f7", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "stage": "initial" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-custom-construction", + "source_file": "mutation_test.py", + "original_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "mutant_sha256": "5ad3ae089fbb172a81138d32ff277d02f6e2036da2cae628040f60ca976c885b", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 14, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-custom-construction/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "construction" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-module-dir-population-omission", + "source_file": "mutation_test.py", + "original_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "mutant_sha256": "5fba8791484fc9cebde8083d23e7bbb76b7ba93cc67278d03b1e98649582e866", + "test": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "stage": "construction" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-custom-construction", + "source_file": "mutation_test.py", + "original_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "mutant_sha256": "5ad3ae089fbb172a81138d32ff277d02f6e2036da2cae628040f60ca976c885b", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 14, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-custom-construction/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "construction" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-module-dir-population-omission", + "source_file": "mutation_test.py", + "original_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "mutant_sha256": "5fba8791484fc9cebde8083d23e7bbb76b7ba93cc67278d03b1e98649582e866", + "test": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "stage": "construction" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-selector-descriptor-or-proxy-execution", + "source_file": "mutation_test.py", + "original_sha256": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "mutant_sha256": "22138feb3737b6588118d7c625503b712491108e535d03a6372dc5517698b8dd", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "selector" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-selector-descriptor-or-proxy-execution", + "source_file": "mutation_test.py", + "original_sha256": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "mutant_sha256": "22138feb3737b6588118d7c625503b712491108e535d03a6372dc5517698b8dd", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "selector" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-static-descriptor-subclasses", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "ede80a1befeaf8d4390836cb1355ddf41f626cb42b930f69b44346abb2655b14", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "exact-descriptor" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-named-descriptor-subclasses", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "fb57ab7191d2c9e8c19619bcee0c175ccd6e310dd800810c5d74e466ca1a1545", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "exact-descriptor" + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "invoke-special-descriptor-during-profile-inspection", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "1625d671be71084113ee84f614e498e0f69f4b440e0c669514fa20aa0d9d25e0", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 3, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "exact-descriptor" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-static-descriptor-subclasses", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "ede80a1befeaf8d4390836cb1355ddf41f626cb42b930f69b44346abb2655b14", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "exact-descriptor" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-named-descriptor-subclasses", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "fb57ab7191d2c9e8c19619bcee0c175ccd6e310dd800810c5d74e466ca1a1545", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "exact-descriptor" + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "invoke-special-descriptor-during-profile-inspection", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "1625d671be71084113ee84f614e498e0f69f4b440e0c669514fa20aa0d9d25e0", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 3, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "stage": "exact-descriptor" + } + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/construction/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/construction/mutation_test.py new file mode 100644 index 000000000..aaf380e16 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/construction/mutation_test.py @@ -0,0 +1,672 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def ordinary_test_class(self,testCaseClass): + # Construction and attribute dispatch must not rewrite the population. + if type(testCaseClass) is not type: + return False + for name in ('__init__','__new__','__getattribute__','__setattr__','__delattr__'): + if getattr(testCaseClass,name,None) is not getattr(unittest.TestCase,name,None): + return False + for base in testCaseClass.__mro__: + if '__getattr__' in base.__dict__: + return False + for name,value in base.__dict__.items(): + if name.startswith(self.testMethodPrefix) or name=='runTest': + function=value.__func__ if isinstance(value,(staticmethod,classmethod)) else value + if not inspect.isfunction(function): + return False + return True + + def frozen_cases(self,testCaseClass,names): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + # Capture declaration identities before even standard construction. + declared={name:function_chain(getattr(testCaseClass,name,None)) for name in names} + suite=unittest.TestSuite(testCaseClass(name) for name in names) + self.remember(suite) + for test in suite_leaves(suite): + binding=self.bindings.get(id(test)) + original=declared.get(getattr(test,'_testMethodName',None)) + if binding is None or not same_function_chain(binding['declared'],original): + self.invalid.append('selected declaration changed during construction') + elif not same_function_chain(binding['instance'],original): + self.invalid.append('selected instance body changed during construction') + else: + binding['declared']=original + return suite + + def loadTestsFromTestCase(self,testCaseClass): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + names=self.getTestCaseNames(testCaseClass) + if not names and hasattr(testCaseClass,'runTest'): + names=['runTest'] + return self.frozen_cases(testCaseClass,names) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + suites=[] + for name in sorted(module.__dict__): + value=module.__dict__[name] + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent=current + if inspect.ismodule(current): + current=current.__dict__[part] + elif isinstance(current,type) and type(current) is not type: + raise ValueError('unsupported selector metaclass') + else: + current=getattr(current,part) + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.frozen_cases(parent,[parts[-1]]) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,KeyError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/construction/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/construction/tests/test_mutation_runner.py new file mode 100644 index 000000000..465125977 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/construction/tests/test_mutation_runner.py @@ -0,0 +1,421 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +import json +import os +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +class LifecycleHarnessRules(unittest.TestCase): + """Catch false kills from lifecycle assertions and incomplete body execution.""" + + def run_fixture(self, source, transform=None): + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + for name in ('auditor.py','source_checks.py','canonical_lean.py'): + (root/name).write_text('fixture_source = True\n') + (root/'tests/test_auditor.py').write_text(source) + previous=mutation_test.HERE + try: + mutation_test.HERE=root + return mutation_test.run_one('fixture','source_checks.py',transform or (lambda s:s),root/'logs') + finally: + mutation_test.HERE=previous + + def test_body_assertion_kills_and_identity_survives(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body sentinel")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']) + + def test_setup_teardown_cleanup_assertions_cannot_kill(self): + fixtures=[ + ' def setUp(self): self.fail("setup")\n def test_one(self): pass\n', + ' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n', + ' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n', + ' def _callTestMethod(self, method): self.fail("dispatch hook")\n def test_one(self): pass\n', + ' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup")\n', + ' @classmethod\n def setUpClass(cls): raise AssertionError("class setup")\n def test_one(self): pass\n', + ' def test_one(self): pass\n @classmethod\n def tearDownClass(cls): raise AssertionError("class teardown")\n', + ' def test_one(self): self.addClassCleanup(self.fail,"class cleanup")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_errors_skips_expected_failures_and_subtests_are_ambiguous(self): + fixtures=[ + ' def test_one(self): raise RuntimeError("body error")\n', + ' @unittest.skip("skip")\n def test_one(self): pass\n', + ' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n', + ' @unittest.expectedFailure\n def test_one(self): pass\n', + ' def setUp(self):\n with self.subTest(x=1): self.fail("setup subtest")\n def test_one(self): pass\n', + ' def test_one(self):\n with self.subTest(x=1): raise RuntimeError("subtest error")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_body_scoped_subtests_have_exact_parent_assertion_events(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n for x in (1,2):\n with self.subTest(x=x): self.fail("subtest body")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['subtests'],2) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']*2) + self.assertEqual(killed['tests']['body_finished_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + + def test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected(self): + fixtures=[ + 'import unittest\ndef load_tests(loader, tests, pattern): return unittest.TestSuite()\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n', + 'raise RuntimeError("import sentinel")\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n', + 'import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n', + ] + for fixture in fixtures: + with self.subTest(fixture=fixture): + value=self.run_fixture(fixture) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_assertion_event_provenance_rejects_duplicate_direct_failures(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n')['tests'] + forged=copy.deepcopy(value);forged['assertion_failures']=2 + forged['body_assertion_ids']=['test_auditor.C.test_one']*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + forged['assertion_events']=[{'id':'test_auditor.C.test_one','source':'direct'}]*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + + def test_expected_population_is_bound_before_mutation(self): + source='import unittest\nimport source_checks\nclass C(unittest.TestCase):\n def test_one(self): pass\n def test_two(self): self.fail("wrong population")\ndef load_tests(loader, tests, pattern):\n return unittest.TestSuite([C("test_one" if source_checks.fixture_source else "test_two")])\n' + result=self.run_fixture(source,lambda s:s.replace('fixture_source = True','fixture_source = False')) + self.assertEqual(result['outcome'],'ERROR',result) + # Canonical declarations are frozen before the unsupported hook. + # Both declared bodies remain required; the hook is never evaluated. + self.assertEqual(result['expected_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(result['pristine_population']['invalid_population'],['unsupported module load_tests hook: test_auditor']) + self.assertEqual(result['tests'],{}) + + def test_missing_forged_or_noninteger_receipts_fail_closed(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n') + trusted=value.get('tests',{}) + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + self.assertEqual(mutation_test.classify_test_result(trusted,1,expected_ids=['test_auditor.C.test_other']),'ERROR') + duplicate=copy.deepcopy(trusted) + for key in ('selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids'): + duplicate[key]*=2 + duplicate['tests_run']=2;duplicate['assertion_failures']=2 + duplicate['assertion_events']=[{'id':'test_auditor.C.test_one','source':'subtest'}]*2 + duplicate['subtests']=2 + duplicate['subtest_events']=[{'id':'test_auditor.C.test_one','phase':'body','outcome':'assertion'}]*2 + self.assertEqual(mutation_test.classify_test_result(duplicate,1),'ERROR') + for field in ('receipt_schema','selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids','invalid_population','subtests','subtest_events','assertion_events','lifecycle_failures'): + with self.subTest(missing=field): + forged=copy.deepcopy(trusted);forged.pop(field,None) + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field in ('tests_run','assertion_failures','errors','skipped','expected_failures','unexpected_successes','lifecycle_failures','subtests'): + with self.subTest(noninteger=field): + forged=copy.deepcopy(trusted);forged[field]=True + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field, replacement in [('started_ids',[]),('body_finished_ids',[]),('body_entered_ids',['test_auditor.C.test_one']*2),('body_assertion_ids',['forged.method']),('selected_ids',['test_auditor.C.test_one']*2),('invalid_population',['forged']),('lifecycle_failures',1),('subtests',1),('successful',1)]: + with self.subTest(forged=field): + forged=copy.deepcopy(trusted);forged[field]=replacement + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + subtest=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): self.fail("body")\n')['tests'] + for replacement in ({'id':'test_auditor.C.test_one','phase':'cleanup','outcome':'assertion'}, + {'id':'forged.method','phase':'body','outcome':'assertion'}, + {'id':'test_auditor.C.test_one','phase':'body','outcome':'error'}): + with self.subTest(subtest_event=replacement): + forged=copy.deepcopy(subtest);forged['subtest_events']=[replacement] + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + +class LazyBodyHarnessRules(unittest.TestCase): + """Lazy call creation cannot satisfy synchronous selected-body execution.""" + + def run_lazy_fixture(self,label,body): + with tempfile.TemporaryDirectory() as temporary: + sentinel=Path(temporary)/'lazy-executed' + ordinary=Path(temporary)/'ordinary-executed' + source=('from pathlib import Path\nimport unittest\nimport functools\n' + +'sentinel=Path('+repr(str(sentinel))+')\n' + +'ordinary=Path('+repr(str(ordinary))+')\n'+body) + value=LifecycleHarnessRules.run_fixture(self,source) + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':source, + 'lazy_sentinel_executed':sentinel.exists(), + 'ordinary_sentinel_executed':ordinary.exists(),'receipt':value} + destination=os.environ.get('CBZ_LAZY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return record + + def test_sync_bodies_require_none_and_refuse_other_returns_without_iteration(self): + passed=self.run_lazy_fixture('ordinary-pass','class C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['receipt']['outcome'],'SURVIVED',passed) + killed=self.run_lazy_fixture('ordinary-none-kill', + 'class C(unittest.TestCase):\n def test_a_return(self): return None\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(killed['receipt']['outcome'],'KILLED',killed) + for label,expression in [('zero','0'),('false','False'),('empty-string',"''"),('scalar','7')]: + with self.subTest(value=label): + record=self.run_lazy_fixture('return-'+label,'class C(unittest.TestCase):\n' + +' def test_a_return(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + unknown=self.run_lazy_fixture('ordinary-unknown-iterable', + 'class UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\n' + 'class C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(unknown['receipt']['outcome'],'ERROR',unknown) + self.assertFalse(unknown['lazy_sentinel_executed'],unknown) + self.assertTrue(unknown['ordinary_sentinel_executed'],unknown) + + def test_mixed_lazy_function_shapes_are_refused_before_any_body(self): + methods=[('generator',' def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n'), + ('async-generator',' async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('method-'+label,'class C(unittest.TestCase):\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_wraps_decorated_lazy_functions_are_refused_at_population(self): + decorator=('def transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\n' + 'def lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\n') + methods=[('generator',' def test_a_lazy(self):\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n return None\n'), + ('async-generator',' async def test_a_lazy(self):\n yield 1\n'), + ('lazy-middle',' @lazy_middle\n def test_a_lazy(self): pass\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('wrapped-'+label,decorator+'class C(unittest.TestCase):\n @transparent\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): + returns=[('generator','def make_lazy():\n sentinel.write_text("generator")\n yield 1\n','make_lazy()'), + ('coroutine','async def make_lazy():\n sentinel.write_text("coroutine")\n','make_lazy()'), + ('async-generator','async def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\n','make_lazy()'), + ('custom-awaitable','class CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\n','CustomAwaitable()')] + for label,definitions,expression in returns: + with self.subTest(shape=label): + record=self.run_lazy_fixture('return-'+label,definitions+'class C(unittest.TestCase):\n' + +' def test_a_lazy(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + self.assertTrue(record['receipt']['tests']['invalid_population'],record) + + +import os +import shutil +import subprocess + +class IdentityHarnessRules(unittest.TestCase): + """Real ordinary-body controls for loader and in-process identity binding.""" + + def run_identity_fixture(self, label, source, selectors=()): + import hashlib + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + runner=root/'mutation_test.py' + shutil.copy2(HERE/'mutation_test.py',runner) + events=root/'events' + header=('import unittest\nfrom pathlib import Path\n' + +'def record(label):\n with Path('+repr(str(events))+').open("a") as out: out.write(label+"\\n")\n') + fixture=root/'tests'/'test_auditor.py' + fixture.write_text(header+source) + output=root/'receipt.json' + command=[sys.executable,'-B','-S',str(runner),*['--internal-test-runner','--test-root',str(root/'tests')],'--output',str(output)] + for selector in selectors:command.extend(['--test',selector]) + p=subprocess.run(command,capture_output=True,text=True,timeout=15) + self.assertTrue(output.exists(),p.stderr) + value=json.loads(output.read_text()) + outcome=mutation_test.classify_test_result(value,p.returncode) + observed=events.read_text().splitlines() if events.exists() else [] + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':header+source, + 'fixture_sha256':hashlib.sha256(fixture.read_bytes()).hexdigest(), + 'command':command,'exit_code':p.returncode,'outcome':outcome, + 'events':observed,'receipt':value,'stdout':p.stdout,'stderr':p.stderr} + destination=os.environ.get('CBZ_IDENTITY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return outcome,value,observed + + def test_module_alias_subclass_and_population_hooks_refused_before_execution(self): + base=('class C(unittest.TestCase):\n' + +' def test_first(self): record("first")\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + hooks=[('alias','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('alias-assertion','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('subclass','def load_tests(loader, tests, pattern):\n record("hook")\n def replacement(self): record("replacement")\n R=type("C",(C,),{"test_first":replacement,"test_second":replacement,"__module__":__name__,"__qualname__":"C"})\n globals()["C"]=R\n return loader.loadTestsFromTestCase(R)\n'), + ('omission','def load_tests(loader, tests, pattern):\n record("hook")\n return unittest.TestSuite([C("test_first")])\n')] + for label,hook in hooks: + with self.subTest(shape=label): + source=base+hook + if label=='alias-assertion':source=source.replace('def test_first(self): record("first")','def test_first(self):\n record("first")\n self.fail("first body assertion")') + outcome,value,events=self.run_identity_fixture('hook-'+label,source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + source=('class Hidden(unittest.TestCase):\n def test_hidden(self):\n record("hidden")\n self.fail("hidden body retained")\n' + +'class Visible(unittest.TestCase):\n def test_visible(self): record("visible")\n' + +'def __dir__():\n record("module-dir")\n return ["Visible"]\n') + outcome,value,events=self.run_identity_fixture('module-dir-cannot-hide',source) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['hidden','visible'],value) + self.assertEqual(len(value['selected_ids']),2,value) + + def test_named_class_and_method_selection_preserve_exact_population(self): + source='class C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self): record("second")\n' + for label,selectors,wanted in [('class',('test_auditor.C',),['first','second']), + ('method',('test_auditor.C.test_second',),['second'])]: + with self.subTest(selector=label): + outcome,value,events=self.run_identity_fixture('named-'+label,source,selectors) + self.assertEqual(outcome,'SURVIVED',value) + self.assertEqual(events,wanted,value) + outcome,value,events=self.run_identity_fixture('named-assertion',source.replace('record("first")','record("first"); self.fail("body")'),('test_auditor.C',)) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['first','second'],value) + + def test_callable_factory_selector_is_refused_before_factory_or_body(self): + source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'def factory():\n record("factory")\n return unittest.TestSuite([C("test_one")])\n') + outcome,value,events=self.run_identity_fixture('callable-factory',source,('test_auditor.factory',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + constructor_fixtures=[ + ('init','class C(unittest.TestCase):\n def __init__(self,*a,**k):\n record("constructor")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n'), + ('new','class C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record("constructor")\n return super().__new__(cls)\n def test_one(self): record("body")\n'), + ('metaclass','class Meta(type):\n def __call__(cls,*a,**k):\n record("metaclass")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record("body")\n'), + ('getattribute','class C(unittest.TestCase):\n def __getattribute__(self,name):\n record("attribute")\n return super().__getattribute__(name)\n def test_one(self): record("body")\n'), + ('setattr','class C(unittest.TestCase):\n def __setattr__(self,name,value):\n record("attribute")\n return super().__setattr__(name,value)\n def test_one(self): record("body")\n'), + ] + for label,source in constructor_fixtures: + for selection in [(),('test_auditor.C',),('test_auditor.C.'+('test_first' if label=='init' else 'test_one'),)]: + with self.subTest(constructor=label,selector=selection): + outcome,value,events=self.run_identity_fixture('construction-'+label+'-'+str(len(selection))+'-'+('method' if selection and selection[0].count('.')==2 else 'class'),source,selection) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_class_fixture_function_and_code_substitutions_are_refused(self): + base=('def replacement(self): record("replacement")\n' + +'class C(unittest.TestCase):\n' + +' @classmethod\n def setUpClass(cls):\n record("class-setup")\n CHANGE\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + for label,change in [('function','cls.test_one=replacement'),('code','cls.test_one.__code__=replacement.__code__'), + ('same-code-function','cls.test_one=__import__("types").FunctionType(cls.test_one.__code__,cls.test_one.__globals__)')]: + with self.subTest(change=label): + outcome,value,events=self.run_identity_fixture('class-fixture-'+label,base.replace('CHANGE',change)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['class-setup'],value) + self.assertTrue(value['invalid_population'],value) + + source=('class C(unittest.TestCase):\n' + +' def setUp(self):\n record("setup")\n self.__class__=type("C",(type(self),),{"__module__":__name__,"__qualname__":"C"})\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + outcome,value,events=self.run_identity_fixture('instance-class-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['setup'],value) + self.assertTrue(value['invalid_population'],value) + + def test_postload_substitution_refused_before_any_fixture(self): + spec=importlib.util.spec_from_file_location('identity_runtime_probe',HERE/'mutation_test.py') + runtime=importlib.util.module_from_spec(spec);spec.loader.exec_module(runtime) + events=[] + class Case(unittest.TestCase): + @classmethod + def setUpClass(cls):events.append('class-setup') + def setUp(self):events.append('setup') + def test_one(self):events.append('original') + loader=runtime.IdentityLoader();suite=loader.loadTestsFromTestCase(Case) + def replacement(self):events.append('replacement') + Case.test_one=replacement + value=runtime.execute_test_suite(suite,loader.bindings,loader.invalid) + self.assertTrue(value['invalid_population'],value) + self.assertEqual(events,[],value) + self.assertEqual(value['tests_run'],0,value) + + def test_custom_testcase_run_is_refused_before_execution(self): + source=('class C(unittest.TestCase):\n' + +' def run(self,result=None):\n record("custom-run")\n return super().run(result)\n' + +' def test_one(self): record("body")\n') + outcome,value,events=self.run_identity_fixture('custom-run',source,('test_auditor.C',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_identity_change_during_body_is_not_a_clean_kill(self): + source=('class C(unittest.TestCase):\n' + +' def test_first(self):\n record("first")\n type(self).test_second=type(self).test_first\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + outcome,value,events=self.run_identity_fixture('during-body-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['first'],value) + self.assertTrue(value['invalid_population'],value) + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/exact-descriptor/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/exact-descriptor/mutation_test.py new file mode 100644 index 000000000..625df23ff --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/exact-descriptor/mutation_test.py @@ -0,0 +1,684 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def ordinary_test_class(self,testCaseClass): + # Construction and attribute dispatch must not rewrite the population. + if type(testCaseClass) is not type: + return False + for name in ('__init__','__new__','__getattribute__','__setattr__','__delattr__'): + if inspect.getattr_static(testCaseClass,name,None) is not inspect.getattr_static(unittest.TestCase,name,None): + return False + for base in testCaseClass.__mro__: + if '__getattr__' in base.__dict__: + return False + for name,value in base.__dict__.items(): + if name.startswith(self.testMethodPrefix) or name=='runTest': + function=value.__func__ if type(value) in (staticmethod,classmethod) else value + if not inspect.isfunction(function): + return False + return True + + def frozen_cases(self,testCaseClass,names): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + # Capture declaration identities before even standard construction. + declared={name:function_chain(getattr(testCaseClass,name,None)) for name in names} + suite=unittest.TestSuite(testCaseClass(name) for name in names) + self.remember(suite) + for test in suite_leaves(suite): + binding=self.bindings.get(id(test)) + original=declared.get(getattr(test,'_testMethodName',None)) + if binding is None or not same_function_chain(binding['declared'],original): + self.invalid.append('selected declaration changed during construction') + elif not same_function_chain(binding['instance'],original): + self.invalid.append('selected instance body changed during construction') + else: + binding['declared']=original + return suite + + def loadTestsFromTestCase(self,testCaseClass): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + names=self.getTestCaseNames(testCaseClass) + if not names and hasattr(testCaseClass,'runTest'): + names=['runTest'] + return self.frozen_cases(testCaseClass,names) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + if type(module) is not type(sys): + self.invalid.append('unsupported module attribute dispatch') + return unittest.TestSuite() + suites=[] + for name in sorted(module.__dict__): + value=module.__dict__[name] + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent=current + if inspect.ismodule(current): + if type(current) is not type(sys): + raise ValueError('unsupported module attribute dispatch') + current=current.__dict__[part] + elif isinstance(current,type): + if type(current) is not type: + raise ValueError('unsupported selector metaclass') + if issubclass(current,unittest.TestCase) and not self.ordinary_test_class(current): + raise ValueError('unsupported TestCase declaration traversal') + declared=inspect.getattr_static(current,part) + if not (inspect.isfunction(declared) or type(declared) in (type,staticmethod,classmethod)): + raise ValueError('unsupported selector descriptor') + current=getattr(current,part) + else: + raise ValueError('unsupported selector object traversal') + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.frozen_cases(parent,[parts[-1]]) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,KeyError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/exact-descriptor/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/exact-descriptor/tests/test_mutation_runner.py new file mode 100644 index 000000000..c32a38d0a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/exact-descriptor/tests/test_mutation_runner.py @@ -0,0 +1,438 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +import json +import os +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +class LifecycleHarnessRules(unittest.TestCase): + """Catch false kills from lifecycle assertions and incomplete body execution.""" + + def run_fixture(self, source, transform=None): + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + for name in ('auditor.py','source_checks.py','canonical_lean.py'): + (root/name).write_text('fixture_source = True\n') + (root/'tests/test_auditor.py').write_text(source) + previous=mutation_test.HERE + try: + mutation_test.HERE=root + return mutation_test.run_one('fixture','source_checks.py',transform or (lambda s:s),root/'logs') + finally: + mutation_test.HERE=previous + + def test_body_assertion_kills_and_identity_survives(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body sentinel")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']) + + def test_setup_teardown_cleanup_assertions_cannot_kill(self): + fixtures=[ + ' def setUp(self): self.fail("setup")\n def test_one(self): pass\n', + ' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n', + ' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n', + ' def _callTestMethod(self, method): self.fail("dispatch hook")\n def test_one(self): pass\n', + ' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup")\n', + ' @classmethod\n def setUpClass(cls): raise AssertionError("class setup")\n def test_one(self): pass\n', + ' def test_one(self): pass\n @classmethod\n def tearDownClass(cls): raise AssertionError("class teardown")\n', + ' def test_one(self): self.addClassCleanup(self.fail,"class cleanup")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_errors_skips_expected_failures_and_subtests_are_ambiguous(self): + fixtures=[ + ' def test_one(self): raise RuntimeError("body error")\n', + ' @unittest.skip("skip")\n def test_one(self): pass\n', + ' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n', + ' @unittest.expectedFailure\n def test_one(self): pass\n', + ' def setUp(self):\n with self.subTest(x=1): self.fail("setup subtest")\n def test_one(self): pass\n', + ' def test_one(self):\n with self.subTest(x=1): raise RuntimeError("subtest error")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_body_scoped_subtests_have_exact_parent_assertion_events(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n for x in (1,2):\n with self.subTest(x=x): self.fail("subtest body")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['subtests'],2) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']*2) + self.assertEqual(killed['tests']['body_finished_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + + def test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected(self): + fixtures=[ + 'import unittest\ndef load_tests(loader, tests, pattern): return unittest.TestSuite()\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n', + 'raise RuntimeError("import sentinel")\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n', + 'import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n', + ] + for fixture in fixtures: + with self.subTest(fixture=fixture): + value=self.run_fixture(fixture) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_assertion_event_provenance_rejects_duplicate_direct_failures(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n')['tests'] + forged=copy.deepcopy(value);forged['assertion_failures']=2 + forged['body_assertion_ids']=['test_auditor.C.test_one']*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + forged['assertion_events']=[{'id':'test_auditor.C.test_one','source':'direct'}]*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + + def test_expected_population_is_bound_before_mutation(self): + source='import unittest\nimport source_checks\nclass C(unittest.TestCase):\n def test_one(self): pass\n def test_two(self): self.fail("wrong population")\ndef load_tests(loader, tests, pattern):\n return unittest.TestSuite([C("test_one" if source_checks.fixture_source else "test_two")])\n' + result=self.run_fixture(source,lambda s:s.replace('fixture_source = True','fixture_source = False')) + self.assertEqual(result['outcome'],'ERROR',result) + # Canonical declarations are frozen before the unsupported hook. + # Both declared bodies remain required; the hook is never evaluated. + self.assertEqual(result['expected_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(result['pristine_population']['invalid_population'],['unsupported module load_tests hook: test_auditor']) + self.assertEqual(result['tests'],{}) + + def test_missing_forged_or_noninteger_receipts_fail_closed(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n') + trusted=value.get('tests',{}) + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + self.assertEqual(mutation_test.classify_test_result(trusted,1,expected_ids=['test_auditor.C.test_other']),'ERROR') + duplicate=copy.deepcopy(trusted) + for key in ('selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids'): + duplicate[key]*=2 + duplicate['tests_run']=2;duplicate['assertion_failures']=2 + duplicate['assertion_events']=[{'id':'test_auditor.C.test_one','source':'subtest'}]*2 + duplicate['subtests']=2 + duplicate['subtest_events']=[{'id':'test_auditor.C.test_one','phase':'body','outcome':'assertion'}]*2 + self.assertEqual(mutation_test.classify_test_result(duplicate,1),'ERROR') + for field in ('receipt_schema','selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids','invalid_population','subtests','subtest_events','assertion_events','lifecycle_failures'): + with self.subTest(missing=field): + forged=copy.deepcopy(trusted);forged.pop(field,None) + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field in ('tests_run','assertion_failures','errors','skipped','expected_failures','unexpected_successes','lifecycle_failures','subtests'): + with self.subTest(noninteger=field): + forged=copy.deepcopy(trusted);forged[field]=True + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field, replacement in [('started_ids',[]),('body_finished_ids',[]),('body_entered_ids',['test_auditor.C.test_one']*2),('body_assertion_ids',['forged.method']),('selected_ids',['test_auditor.C.test_one']*2),('invalid_population',['forged']),('lifecycle_failures',1),('subtests',1),('successful',1)]: + with self.subTest(forged=field): + forged=copy.deepcopy(trusted);forged[field]=replacement + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + subtest=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): self.fail("body")\n')['tests'] + for replacement in ({'id':'test_auditor.C.test_one','phase':'cleanup','outcome':'assertion'}, + {'id':'forged.method','phase':'body','outcome':'assertion'}, + {'id':'test_auditor.C.test_one','phase':'body','outcome':'error'}): + with self.subTest(subtest_event=replacement): + forged=copy.deepcopy(subtest);forged['subtest_events']=[replacement] + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + +class LazyBodyHarnessRules(unittest.TestCase): + """Lazy call creation cannot satisfy synchronous selected-body execution.""" + + def run_lazy_fixture(self,label,body): + with tempfile.TemporaryDirectory() as temporary: + sentinel=Path(temporary)/'lazy-executed' + ordinary=Path(temporary)/'ordinary-executed' + source=('from pathlib import Path\nimport unittest\nimport functools\n' + +'sentinel=Path('+repr(str(sentinel))+')\n' + +'ordinary=Path('+repr(str(ordinary))+')\n'+body) + value=LifecycleHarnessRules.run_fixture(self,source) + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':source, + 'lazy_sentinel_executed':sentinel.exists(), + 'ordinary_sentinel_executed':ordinary.exists(),'receipt':value} + destination=os.environ.get('CBZ_LAZY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return record + + def test_sync_bodies_require_none_and_refuse_other_returns_without_iteration(self): + passed=self.run_lazy_fixture('ordinary-pass','class C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['receipt']['outcome'],'SURVIVED',passed) + killed=self.run_lazy_fixture('ordinary-none-kill', + 'class C(unittest.TestCase):\n def test_a_return(self): return None\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(killed['receipt']['outcome'],'KILLED',killed) + for label,expression in [('zero','0'),('false','False'),('empty-string',"''"),('scalar','7')]: + with self.subTest(value=label): + record=self.run_lazy_fixture('return-'+label,'class C(unittest.TestCase):\n' + +' def test_a_return(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + unknown=self.run_lazy_fixture('ordinary-unknown-iterable', + 'class UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\n' + 'class C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(unknown['receipt']['outcome'],'ERROR',unknown) + self.assertFalse(unknown['lazy_sentinel_executed'],unknown) + self.assertTrue(unknown['ordinary_sentinel_executed'],unknown) + + def test_mixed_lazy_function_shapes_are_refused_before_any_body(self): + methods=[('generator',' def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n'), + ('async-generator',' async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('method-'+label,'class C(unittest.TestCase):\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_wraps_decorated_lazy_functions_are_refused_at_population(self): + decorator=('def transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\n' + 'def lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\n') + methods=[('generator',' def test_a_lazy(self):\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n return None\n'), + ('async-generator',' async def test_a_lazy(self):\n yield 1\n'), + ('lazy-middle',' @lazy_middle\n def test_a_lazy(self): pass\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('wrapped-'+label,decorator+'class C(unittest.TestCase):\n @transparent\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): + returns=[('generator','def make_lazy():\n sentinel.write_text("generator")\n yield 1\n','make_lazy()'), + ('coroutine','async def make_lazy():\n sentinel.write_text("coroutine")\n','make_lazy()'), + ('async-generator','async def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\n','make_lazy()'), + ('custom-awaitable','class CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\n','CustomAwaitable()')] + for label,definitions,expression in returns: + with self.subTest(shape=label): + record=self.run_lazy_fixture('return-'+label,definitions+'class C(unittest.TestCase):\n' + +' def test_a_lazy(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + self.assertTrue(record['receipt']['tests']['invalid_population'],record) + + +import os +import shutil +import subprocess + +class IdentityHarnessRules(unittest.TestCase): + """Real ordinary-body controls for loader and in-process identity binding.""" + + def run_identity_fixture(self, label, source, selectors=()): + import hashlib + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + runner=root/'mutation_test.py' + shutil.copy2(HERE/'mutation_test.py',runner) + events=root/'events' + header=('import unittest\nfrom pathlib import Path\n' + +'def record(label):\n with Path('+repr(str(events))+').open("a") as out: out.write(label+"\\n")\n') + fixture=root/'tests'/'test_auditor.py' + fixture.write_text(header+source) + output=root/'receipt.json' + command=[sys.executable,'-B','-S',str(runner),*['--internal-test-runner','--test-root',str(root/'tests')],'--output',str(output)] + for selector in selectors:command.extend(['--test',selector]) + p=subprocess.run(command,capture_output=True,text=True,timeout=15) + self.assertTrue(output.exists(),p.stderr) + value=json.loads(output.read_text()) + outcome=mutation_test.classify_test_result(value,p.returncode) + observed=events.read_text().splitlines() if events.exists() else [] + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':header+source, + 'fixture_sha256':hashlib.sha256(fixture.read_bytes()).hexdigest(), + 'command':command,'exit_code':p.returncode,'outcome':outcome, + 'events':observed,'receipt':value,'stdout':p.stdout,'stderr':p.stderr} + destination=os.environ.get('CBZ_IDENTITY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return outcome,value,observed + + def test_module_alias_subclass_and_population_hooks_refused_before_execution(self): + base=('class C(unittest.TestCase):\n' + +' def test_first(self): record("first")\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + hooks=[('alias','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('alias-assertion','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('subclass','def load_tests(loader, tests, pattern):\n record("hook")\n def replacement(self): record("replacement")\n R=type("C",(C,),{"test_first":replacement,"test_second":replacement,"__module__":__name__,"__qualname__":"C"})\n globals()["C"]=R\n return loader.loadTestsFromTestCase(R)\n'), + ('omission','def load_tests(loader, tests, pattern):\n record("hook")\n return unittest.TestSuite([C("test_first")])\n')] + for label,hook in hooks: + with self.subTest(shape=label): + source=base+hook + if label=='alias-assertion':source=source.replace('def test_first(self): record("first")','def test_first(self):\n record("first")\n self.fail("first body assertion")') + outcome,value,events=self.run_identity_fixture('hook-'+label,source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + source=('class Hidden(unittest.TestCase):\n def test_hidden(self):\n record("hidden")\n self.fail("hidden body retained")\n' + +'class Visible(unittest.TestCase):\n def test_visible(self): record("visible")\n' + +'def __dir__():\n record("module-dir")\n return ["Visible"]\n') + outcome,value,events=self.run_identity_fixture('module-dir-cannot-hide',source) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['hidden','visible'],value) + self.assertEqual(len(value['selected_ids']),2,value) + + def test_named_class_and_method_selection_preserve_exact_population(self): + source='class C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self): record("second")\n' + for label,selectors,wanted in [('class',('test_auditor.C',),['first','second']), + ('method',('test_auditor.C.test_second',),['second'])]: + with self.subTest(selector=label): + outcome,value,events=self.run_identity_fixture('named-'+label,source,selectors) + self.assertEqual(outcome,'SURVIVED',value) + self.assertEqual(events,wanted,value) + outcome,value,events=self.run_identity_fixture('named-assertion',source.replace('record("first")','record("first"); self.fail("body")'),('test_auditor.C',)) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['first','second'],value) + + def test_callable_factory_selector_is_refused_before_factory_or_body(self): + source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'def factory():\n record("factory")\n return unittest.TestSuite([C("test_one")])\n') + outcome,value,events=self.run_identity_fixture('callable-factory',source,('test_auditor.factory',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + proxy_source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'class Proxy:\n def __getattr__(self,name):\n record("proxy")\n return C\nproxy=Proxy()\n') + outcome,value,events=self.run_identity_fixture('selector-proxy',proxy_source,('test_auditor.proxy.C.test_one',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + constructor_fixtures=[ + ('init','class C(unittest.TestCase):\n def __init__(self,*a,**k):\n record("constructor")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n'), + ('new','class C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record("constructor")\n return super().__new__(cls)\n def test_one(self): record("body")\n'), + ('metaclass','class Meta(type):\n def __call__(cls,*a,**k):\n record("metaclass")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record("body")\n'), + ('getattribute','class C(unittest.TestCase):\n def __getattribute__(self,name):\n record("attribute")\n return super().__getattribute__(name)\n def test_one(self): record("body")\n'), + ('setattr','class C(unittest.TestCase):\n def __setattr__(self,name,value):\n record("attribute")\n return super().__setattr__(name,value)\n def test_one(self): record("body")\n'), + ] + constructor_fixtures.append(('descriptor','class Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record("descriptor")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n test_second=Descriptor(test_second)\n')) + for kind in ('staticmethod','classmethod'): + constructor_fixtures.append(('descriptor-'+kind,'class Alias('+kind+'):\n def __get__(self,instance,owner):\n record("descriptor-subclass")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n test_second=Alias(test_second)\n')) + constructor_fixtures.append(('special-descriptor','class InitDescriptor:\n def __get__(self,instance,owner):\n record("special-descriptor")\n owner.__init__=unittest.TestCase.__init__\n return owner.__init__.__get__(instance,owner)\nclass C(unittest.TestCase):\n __init__=InitDescriptor()\n def test_one(self): record("body")\n')) + for label,source in constructor_fixtures: + for selection in [(),('test_auditor.C',),('test_auditor.C.'+('test_first' if label=='init' else 'test_second' if label.startswith('descriptor') else 'test_one'),)]: + with self.subTest(constructor=label,selector=selection): + outcome,value,events=self.run_identity_fixture('construction-'+label+'-'+str(len(selection))+'-'+('method' if selection and selection[0].count('.')==2 else 'class'),source,selection) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + helper_source=('class Alias(staticmethod):\n def __get__(self,instance,owner):\n record("helper-descriptor")\n return owner.test_one.__get__(instance,owner)\n' + +'class C(unittest.TestCase):\n def test_one(self): record("test")\n def helper(self):\n record("retained-helper")\n self.fail("original helper body")\n helper=Alias(helper)\n') + outcome,value,events=self.run_identity_fixture('selector-helper-descriptor',helper_source,('test_auditor.C.helper',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_class_fixture_function_and_code_substitutions_are_refused(self): + base=('def replacement(self): record("replacement")\n' + +'class C(unittest.TestCase):\n' + +' @classmethod\n def setUpClass(cls):\n record("class-setup")\n CHANGE\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + for label,change in [('function','cls.test_one=replacement'),('code','cls.test_one.__code__=replacement.__code__'), + ('same-code-function','cls.test_one=__import__("types").FunctionType(cls.test_one.__code__,cls.test_one.__globals__)')]: + with self.subTest(change=label): + outcome,value,events=self.run_identity_fixture('class-fixture-'+label,base.replace('CHANGE',change)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['class-setup'],value) + self.assertTrue(value['invalid_population'],value) + + source=('class C(unittest.TestCase):\n' + +' def setUp(self):\n record("setup")\n self.__class__=type("C",(type(self),),{"__module__":__name__,"__qualname__":"C"})\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + outcome,value,events=self.run_identity_fixture('instance-class-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['setup'],value) + self.assertTrue(value['invalid_population'],value) + + def test_postload_substitution_refused_before_any_fixture(self): + spec=importlib.util.spec_from_file_location('identity_runtime_probe',HERE/'mutation_test.py') + runtime=importlib.util.module_from_spec(spec);spec.loader.exec_module(runtime) + events=[] + class Case(unittest.TestCase): + @classmethod + def setUpClass(cls):events.append('class-setup') + def setUp(self):events.append('setup') + def test_one(self):events.append('original') + loader=runtime.IdentityLoader();suite=loader.loadTestsFromTestCase(Case) + def replacement(self):events.append('replacement') + Case.test_one=replacement + value=runtime.execute_test_suite(suite,loader.bindings,loader.invalid) + self.assertTrue(value['invalid_population'],value) + self.assertEqual(events,[],value) + self.assertEqual(value['tests_run'],0,value) + + def test_custom_testcase_run_is_refused_before_execution(self): + source=('class C(unittest.TestCase):\n' + +' def run(self,result=None):\n record("custom-run")\n return super().run(result)\n' + +' def test_one(self): record("body")\n') + outcome,value,events=self.run_identity_fixture('custom-run',source,('test_auditor.C',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_identity_change_during_body_is_not_a_clean_kill(self): + source=('class C(unittest.TestCase):\n' + +' def test_first(self):\n record("first")\n type(self).test_second=type(self).test_first\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + outcome,value,events=self.run_identity_fixture('during-body-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['first'],value) + self.assertTrue(value['invalid_population'],value) + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/initial/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/initial/mutation_test.py new file mode 100644 index 000000000..4c716110c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/initial/mutation_test.py @@ -0,0 +1,624 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def loadTestsFromTestCase(self,testCaseClass): + return self.remember(super().loadTestsFromTestCase(testCaseClass)) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + suites=[] + for name in dir(module): + value=getattr(module,name) + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent,current=current,getattr(current,part) + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.remember(unittest.TestSuite([parent(parts[-1])])) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/initial/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/initial/tests/test_mutation_runner.py new file mode 100644 index 000000000..5ae564780 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/initial/tests/test_mutation_runner.py @@ -0,0 +1,398 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +import json +import os +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +class LifecycleHarnessRules(unittest.TestCase): + """Catch false kills from lifecycle assertions and incomplete body execution.""" + + def run_fixture(self, source, transform=None): + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + for name in ('auditor.py','source_checks.py','canonical_lean.py'): + (root/name).write_text('fixture_source = True\n') + (root/'tests/test_auditor.py').write_text(source) + previous=mutation_test.HERE + try: + mutation_test.HERE=root + return mutation_test.run_one('fixture','source_checks.py',transform or (lambda s:s),root/'logs') + finally: + mutation_test.HERE=previous + + def test_body_assertion_kills_and_identity_survives(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body sentinel")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']) + + def test_setup_teardown_cleanup_assertions_cannot_kill(self): + fixtures=[ + ' def setUp(self): self.fail("setup")\n def test_one(self): pass\n', + ' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n', + ' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n', + ' def _callTestMethod(self, method): self.fail("dispatch hook")\n def test_one(self): pass\n', + ' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup")\n', + ' @classmethod\n def setUpClass(cls): raise AssertionError("class setup")\n def test_one(self): pass\n', + ' def test_one(self): pass\n @classmethod\n def tearDownClass(cls): raise AssertionError("class teardown")\n', + ' def test_one(self): self.addClassCleanup(self.fail,"class cleanup")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_errors_skips_expected_failures_and_subtests_are_ambiguous(self): + fixtures=[ + ' def test_one(self): raise RuntimeError("body error")\n', + ' @unittest.skip("skip")\n def test_one(self): pass\n', + ' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n', + ' @unittest.expectedFailure\n def test_one(self): pass\n', + ' def setUp(self):\n with self.subTest(x=1): self.fail("setup subtest")\n def test_one(self): pass\n', + ' def test_one(self):\n with self.subTest(x=1): raise RuntimeError("subtest error")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_body_scoped_subtests_have_exact_parent_assertion_events(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n for x in (1,2):\n with self.subTest(x=x): self.fail("subtest body")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['subtests'],2) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']*2) + self.assertEqual(killed['tests']['body_finished_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + + def test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected(self): + fixtures=[ + 'import unittest\ndef load_tests(loader, tests, pattern): return unittest.TestSuite()\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n', + 'raise RuntimeError("import sentinel")\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n', + 'import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n', + ] + for fixture in fixtures: + with self.subTest(fixture=fixture): + value=self.run_fixture(fixture) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_assertion_event_provenance_rejects_duplicate_direct_failures(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n')['tests'] + forged=copy.deepcopy(value);forged['assertion_failures']=2 + forged['body_assertion_ids']=['test_auditor.C.test_one']*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + forged['assertion_events']=[{'id':'test_auditor.C.test_one','source':'direct'}]*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + + def test_expected_population_is_bound_before_mutation(self): + source='import unittest\nimport source_checks\nclass C(unittest.TestCase):\n def test_one(self): pass\n def test_two(self): self.fail("wrong population")\ndef load_tests(loader, tests, pattern):\n return unittest.TestSuite([C("test_one" if source_checks.fixture_source else "test_two")])\n' + result=self.run_fixture(source,lambda s:s.replace('fixture_source = True','fixture_source = False')) + self.assertEqual(result['outcome'],'ERROR',result) + # Canonical declarations are frozen before the unsupported hook. + # Both declared bodies remain required; the hook is never evaluated. + self.assertEqual(result['expected_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(result['pristine_population']['invalid_population'],['unsupported module load_tests hook: test_auditor']) + self.assertEqual(result['tests'],{}) + + def test_missing_forged_or_noninteger_receipts_fail_closed(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n') + trusted=value.get('tests',{}) + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + self.assertEqual(mutation_test.classify_test_result(trusted,1,expected_ids=['test_auditor.C.test_other']),'ERROR') + duplicate=copy.deepcopy(trusted) + for key in ('selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids'): + duplicate[key]*=2 + duplicate['tests_run']=2;duplicate['assertion_failures']=2 + duplicate['assertion_events']=[{'id':'test_auditor.C.test_one','source':'subtest'}]*2 + duplicate['subtests']=2 + duplicate['subtest_events']=[{'id':'test_auditor.C.test_one','phase':'body','outcome':'assertion'}]*2 + self.assertEqual(mutation_test.classify_test_result(duplicate,1),'ERROR') + for field in ('receipt_schema','selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids','invalid_population','subtests','subtest_events','assertion_events','lifecycle_failures'): + with self.subTest(missing=field): + forged=copy.deepcopy(trusted);forged.pop(field,None) + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field in ('tests_run','assertion_failures','errors','skipped','expected_failures','unexpected_successes','lifecycle_failures','subtests'): + with self.subTest(noninteger=field): + forged=copy.deepcopy(trusted);forged[field]=True + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field, replacement in [('started_ids',[]),('body_finished_ids',[]),('body_entered_ids',['test_auditor.C.test_one']*2),('body_assertion_ids',['forged.method']),('selected_ids',['test_auditor.C.test_one']*2),('invalid_population',['forged']),('lifecycle_failures',1),('subtests',1),('successful',1)]: + with self.subTest(forged=field): + forged=copy.deepcopy(trusted);forged[field]=replacement + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + subtest=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): self.fail("body")\n')['tests'] + for replacement in ({'id':'test_auditor.C.test_one','phase':'cleanup','outcome':'assertion'}, + {'id':'forged.method','phase':'body','outcome':'assertion'}, + {'id':'test_auditor.C.test_one','phase':'body','outcome':'error'}): + with self.subTest(subtest_event=replacement): + forged=copy.deepcopy(subtest);forged['subtest_events']=[replacement] + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + +class LazyBodyHarnessRules(unittest.TestCase): + """Lazy call creation cannot satisfy synchronous selected-body execution.""" + + def run_lazy_fixture(self,label,body): + with tempfile.TemporaryDirectory() as temporary: + sentinel=Path(temporary)/'lazy-executed' + ordinary=Path(temporary)/'ordinary-executed' + source=('from pathlib import Path\nimport unittest\nimport functools\n' + +'sentinel=Path('+repr(str(sentinel))+')\n' + +'ordinary=Path('+repr(str(ordinary))+')\n'+body) + value=LifecycleHarnessRules.run_fixture(self,source) + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':source, + 'lazy_sentinel_executed':sentinel.exists(), + 'ordinary_sentinel_executed':ordinary.exists(),'receipt':value} + destination=os.environ.get('CBZ_LAZY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return record + + def test_sync_bodies_require_none_and_refuse_other_returns_without_iteration(self): + passed=self.run_lazy_fixture('ordinary-pass','class C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['receipt']['outcome'],'SURVIVED',passed) + killed=self.run_lazy_fixture('ordinary-none-kill', + 'class C(unittest.TestCase):\n def test_a_return(self): return None\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(killed['receipt']['outcome'],'KILLED',killed) + for label,expression in [('zero','0'),('false','False'),('empty-string',"''"),('scalar','7')]: + with self.subTest(value=label): + record=self.run_lazy_fixture('return-'+label,'class C(unittest.TestCase):\n' + +' def test_a_return(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + unknown=self.run_lazy_fixture('ordinary-unknown-iterable', + 'class UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\n' + 'class C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(unknown['receipt']['outcome'],'ERROR',unknown) + self.assertFalse(unknown['lazy_sentinel_executed'],unknown) + self.assertTrue(unknown['ordinary_sentinel_executed'],unknown) + + def test_mixed_lazy_function_shapes_are_refused_before_any_body(self): + methods=[('generator',' def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n'), + ('async-generator',' async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('method-'+label,'class C(unittest.TestCase):\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_wraps_decorated_lazy_functions_are_refused_at_population(self): + decorator=('def transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\n' + 'def lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\n') + methods=[('generator',' def test_a_lazy(self):\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n return None\n'), + ('async-generator',' async def test_a_lazy(self):\n yield 1\n'), + ('lazy-middle',' @lazy_middle\n def test_a_lazy(self): pass\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('wrapped-'+label,decorator+'class C(unittest.TestCase):\n @transparent\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): + returns=[('generator','def make_lazy():\n sentinel.write_text("generator")\n yield 1\n','make_lazy()'), + ('coroutine','async def make_lazy():\n sentinel.write_text("coroutine")\n','make_lazy()'), + ('async-generator','async def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\n','make_lazy()'), + ('custom-awaitable','class CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\n','CustomAwaitable()')] + for label,definitions,expression in returns: + with self.subTest(shape=label): + record=self.run_lazy_fixture('return-'+label,definitions+'class C(unittest.TestCase):\n' + +' def test_a_lazy(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + self.assertTrue(record['receipt']['tests']['invalid_population'],record) + + +import os +import shutil +import subprocess + +class IdentityHarnessRules(unittest.TestCase): + """Real ordinary-body controls for loader and in-process identity binding.""" + + def run_identity_fixture(self, label, source, selectors=()): + import hashlib + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + runner=root/'mutation_test.py' + shutil.copy2(HERE/'mutation_test.py',runner) + events=root/'events' + header=('import unittest\nfrom pathlib import Path\n' + +'def record(label):\n with Path('+repr(str(events))+').open("a") as out: out.write(label+"\\n")\n') + fixture=root/'tests'/'test_auditor.py' + fixture.write_text(header+source) + output=root/'receipt.json' + command=[sys.executable,'-B','-S',str(runner),*['--internal-test-runner','--test-root',str(root/'tests')],'--output',str(output)] + for selector in selectors:command.extend(['--test',selector]) + p=subprocess.run(command,capture_output=True,text=True,timeout=15) + self.assertTrue(output.exists(),p.stderr) + value=json.loads(output.read_text()) + outcome=mutation_test.classify_test_result(value,p.returncode) + observed=events.read_text().splitlines() if events.exists() else [] + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':header+source, + 'fixture_sha256':hashlib.sha256(fixture.read_bytes()).hexdigest(), + 'command':command,'exit_code':p.returncode,'outcome':outcome, + 'events':observed,'receipt':value,'stdout':p.stdout,'stderr':p.stderr} + destination=os.environ.get('CBZ_IDENTITY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return outcome,value,observed + + def test_module_alias_subclass_and_population_hooks_refused_before_execution(self): + base=('class C(unittest.TestCase):\n' + +' def test_first(self): record("first")\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + hooks=[('alias','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('alias-assertion','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('subclass','def load_tests(loader, tests, pattern):\n record("hook")\n def replacement(self): record("replacement")\n R=type("C",(C,),{"test_first":replacement,"test_second":replacement,"__module__":__name__,"__qualname__":"C"})\n globals()["C"]=R\n return loader.loadTestsFromTestCase(R)\n'), + ('omission','def load_tests(loader, tests, pattern):\n record("hook")\n return unittest.TestSuite([C("test_first")])\n')] + for label,hook in hooks: + with self.subTest(shape=label): + source=base+hook + if label=='alias-assertion':source=source.replace('def test_first(self): record("first")','def test_first(self):\n record("first")\n self.fail("first body assertion")') + outcome,value,events=self.run_identity_fixture('hook-'+label,source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_named_class_and_method_selection_preserve_exact_population(self): + source='class C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self): record("second")\n' + for label,selectors,wanted in [('class',('test_auditor.C',),['first','second']), + ('method',('test_auditor.C.test_second',),['second'])]: + with self.subTest(selector=label): + outcome,value,events=self.run_identity_fixture('named-'+label,source,selectors) + self.assertEqual(outcome,'SURVIVED',value) + self.assertEqual(events,wanted,value) + outcome,value,events=self.run_identity_fixture('named-assertion',source.replace('record("first")','record("first"); self.fail("body")'),('test_auditor.C',)) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['first','second'],value) + + def test_callable_factory_selector_is_refused_before_factory_or_body(self): + source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'def factory():\n record("factory")\n return unittest.TestSuite([C("test_one")])\n') + outcome,value,events=self.run_identity_fixture('callable-factory',source,('test_auditor.factory',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_class_fixture_function_and_code_substitutions_are_refused(self): + base=('def replacement(self): record("replacement")\n' + +'class C(unittest.TestCase):\n' + +' @classmethod\n def setUpClass(cls):\n record("class-setup")\n CHANGE\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + for label,change in [('function','cls.test_one=replacement'),('code','cls.test_one.__code__=replacement.__code__'), + ('same-code-function','cls.test_one=__import__("types").FunctionType(cls.test_one.__code__,cls.test_one.__globals__)')]: + with self.subTest(change=label): + outcome,value,events=self.run_identity_fixture('class-fixture-'+label,base.replace('CHANGE',change)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['class-setup'],value) + self.assertTrue(value['invalid_population'],value) + + source=('class C(unittest.TestCase):\n' + +' def setUp(self):\n record("setup")\n self.__class__=type("C",(type(self),),{"__module__":__name__,"__qualname__":"C"})\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + outcome,value,events=self.run_identity_fixture('instance-class-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['setup'],value) + self.assertTrue(value['invalid_population'],value) + + def test_postload_substitution_refused_before_any_fixture(self): + spec=importlib.util.spec_from_file_location('identity_runtime_probe',HERE/'mutation_test.py') + runtime=importlib.util.module_from_spec(spec);spec.loader.exec_module(runtime) + events=[] + class Case(unittest.TestCase): + @classmethod + def setUpClass(cls):events.append('class-setup') + def setUp(self):events.append('setup') + def test_one(self):events.append('original') + loader=runtime.IdentityLoader();suite=loader.loadTestsFromTestCase(Case) + def replacement(self):events.append('replacement') + Case.test_one=replacement + value=runtime.execute_test_suite(suite,loader.bindings,loader.invalid) + self.assertTrue(value['invalid_population'],value) + self.assertEqual(events,[],value) + self.assertEqual(value['tests_run'],0,value) + + def test_custom_testcase_run_is_refused_before_execution(self): + source=('class C(unittest.TestCase):\n' + +' def run(self,result=None):\n record("custom-run")\n return super().run(result)\n' + +' def test_one(self): record("body")\n') + outcome,value,events=self.run_identity_fixture('custom-run',source,('test_auditor.C',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_identity_change_during_body_is_not_a_clean_kill(self): + source=('class C(unittest.TestCase):\n' + +' def test_first(self):\n record("first")\n type(self).test_second=type(self).test_first\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + outcome,value,events=self.run_identity_fixture('during-body-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['first'],value) + self.assertTrue(value['invalid_population'],value) + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/selector/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/selector/mutation_test.py new file mode 100644 index 000000000..96f2421ff --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/selector/mutation_test.py @@ -0,0 +1,684 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def ordinary_test_class(self,testCaseClass): + # Construction and attribute dispatch must not rewrite the population. + if type(testCaseClass) is not type: + return False + for name in ('__init__','__new__','__getattribute__','__setattr__','__delattr__'): + if getattr(testCaseClass,name,None) is not getattr(unittest.TestCase,name,None): + return False + for base in testCaseClass.__mro__: + if '__getattr__' in base.__dict__: + return False + for name,value in base.__dict__.items(): + if name.startswith(self.testMethodPrefix) or name=='runTest': + function=value.__func__ if isinstance(value,(staticmethod,classmethod)) else value + if not inspect.isfunction(function): + return False + return True + + def frozen_cases(self,testCaseClass,names): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + # Capture declaration identities before even standard construction. + declared={name:function_chain(getattr(testCaseClass,name,None)) for name in names} + suite=unittest.TestSuite(testCaseClass(name) for name in names) + self.remember(suite) + for test in suite_leaves(suite): + binding=self.bindings.get(id(test)) + original=declared.get(getattr(test,'_testMethodName',None)) + if binding is None or not same_function_chain(binding['declared'],original): + self.invalid.append('selected declaration changed during construction') + elif not same_function_chain(binding['instance'],original): + self.invalid.append('selected instance body changed during construction') + else: + binding['declared']=original + return suite + + def loadTestsFromTestCase(self,testCaseClass): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + names=self.getTestCaseNames(testCaseClass) + if not names and hasattr(testCaseClass,'runTest'): + names=['runTest'] + return self.frozen_cases(testCaseClass,names) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + if type(module) is not type(sys): + self.invalid.append('unsupported module attribute dispatch') + return unittest.TestSuite() + suites=[] + for name in sorted(module.__dict__): + value=module.__dict__[name] + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent=current + if inspect.ismodule(current): + if type(current) is not type(sys): + raise ValueError('unsupported module attribute dispatch') + current=current.__dict__[part] + elif isinstance(current,type): + if type(current) is not type: + raise ValueError('unsupported selector metaclass') + if issubclass(current,unittest.TestCase) and not self.ordinary_test_class(current): + raise ValueError('unsupported TestCase declaration traversal') + declared=inspect.getattr_static(current,part) + if not (inspect.isfunction(declared) or isinstance(declared,(type,staticmethod,classmethod))): + raise ValueError('unsupported selector descriptor') + current=getattr(current,part) + else: + raise ValueError('unsupported selector object traversal') + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.frozen_cases(parent,[parts[-1]]) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,KeyError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/selector/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/selector/tests/test_mutation_runner.py new file mode 100644 index 000000000..0b1ab73b9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/historical-source/selector/tests/test_mutation_runner.py @@ -0,0 +1,428 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +import json +import os +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +class LifecycleHarnessRules(unittest.TestCase): + """Catch false kills from lifecycle assertions and incomplete body execution.""" + + def run_fixture(self, source, transform=None): + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + for name in ('auditor.py','source_checks.py','canonical_lean.py'): + (root/name).write_text('fixture_source = True\n') + (root/'tests/test_auditor.py').write_text(source) + previous=mutation_test.HERE + try: + mutation_test.HERE=root + return mutation_test.run_one('fixture','source_checks.py',transform or (lambda s:s),root/'logs') + finally: + mutation_test.HERE=previous + + def test_body_assertion_kills_and_identity_survives(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body sentinel")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']) + + def test_setup_teardown_cleanup_assertions_cannot_kill(self): + fixtures=[ + ' def setUp(self): self.fail("setup")\n def test_one(self): pass\n', + ' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n', + ' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n', + ' def _callTestMethod(self, method): self.fail("dispatch hook")\n def test_one(self): pass\n', + ' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup")\n', + ' @classmethod\n def setUpClass(cls): raise AssertionError("class setup")\n def test_one(self): pass\n', + ' def test_one(self): pass\n @classmethod\n def tearDownClass(cls): raise AssertionError("class teardown")\n', + ' def test_one(self): self.addClassCleanup(self.fail,"class cleanup")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_errors_skips_expected_failures_and_subtests_are_ambiguous(self): + fixtures=[ + ' def test_one(self): raise RuntimeError("body error")\n', + ' @unittest.skip("skip")\n def test_one(self): pass\n', + ' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n', + ' @unittest.expectedFailure\n def test_one(self): pass\n', + ' def setUp(self):\n with self.subTest(x=1): self.fail("setup subtest")\n def test_one(self): pass\n', + ' def test_one(self):\n with self.subTest(x=1): raise RuntimeError("subtest error")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_body_scoped_subtests_have_exact_parent_assertion_events(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n for x in (1,2):\n with self.subTest(x=x): self.fail("subtest body")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['subtests'],2) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']*2) + self.assertEqual(killed['tests']['body_finished_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + + def test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected(self): + fixtures=[ + 'import unittest\ndef load_tests(loader, tests, pattern): return unittest.TestSuite()\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n', + 'raise RuntimeError("import sentinel")\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n', + 'import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n', + ] + for fixture in fixtures: + with self.subTest(fixture=fixture): + value=self.run_fixture(fixture) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_assertion_event_provenance_rejects_duplicate_direct_failures(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n')['tests'] + forged=copy.deepcopy(value);forged['assertion_failures']=2 + forged['body_assertion_ids']=['test_auditor.C.test_one']*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + forged['assertion_events']=[{'id':'test_auditor.C.test_one','source':'direct'}]*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + + def test_expected_population_is_bound_before_mutation(self): + source='import unittest\nimport source_checks\nclass C(unittest.TestCase):\n def test_one(self): pass\n def test_two(self): self.fail("wrong population")\ndef load_tests(loader, tests, pattern):\n return unittest.TestSuite([C("test_one" if source_checks.fixture_source else "test_two")])\n' + result=self.run_fixture(source,lambda s:s.replace('fixture_source = True','fixture_source = False')) + self.assertEqual(result['outcome'],'ERROR',result) + # Canonical declarations are frozen before the unsupported hook. + # Both declared bodies remain required; the hook is never evaluated. + self.assertEqual(result['expected_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(result['pristine_population']['invalid_population'],['unsupported module load_tests hook: test_auditor']) + self.assertEqual(result['tests'],{}) + + def test_missing_forged_or_noninteger_receipts_fail_closed(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n') + trusted=value.get('tests',{}) + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + self.assertEqual(mutation_test.classify_test_result(trusted,1,expected_ids=['test_auditor.C.test_other']),'ERROR') + duplicate=copy.deepcopy(trusted) + for key in ('selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids'): + duplicate[key]*=2 + duplicate['tests_run']=2;duplicate['assertion_failures']=2 + duplicate['assertion_events']=[{'id':'test_auditor.C.test_one','source':'subtest'}]*2 + duplicate['subtests']=2 + duplicate['subtest_events']=[{'id':'test_auditor.C.test_one','phase':'body','outcome':'assertion'}]*2 + self.assertEqual(mutation_test.classify_test_result(duplicate,1),'ERROR') + for field in ('receipt_schema','selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids','invalid_population','subtests','subtest_events','assertion_events','lifecycle_failures'): + with self.subTest(missing=field): + forged=copy.deepcopy(trusted);forged.pop(field,None) + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field in ('tests_run','assertion_failures','errors','skipped','expected_failures','unexpected_successes','lifecycle_failures','subtests'): + with self.subTest(noninteger=field): + forged=copy.deepcopy(trusted);forged[field]=True + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field, replacement in [('started_ids',[]),('body_finished_ids',[]),('body_entered_ids',['test_auditor.C.test_one']*2),('body_assertion_ids',['forged.method']),('selected_ids',['test_auditor.C.test_one']*2),('invalid_population',['forged']),('lifecycle_failures',1),('subtests',1),('successful',1)]: + with self.subTest(forged=field): + forged=copy.deepcopy(trusted);forged[field]=replacement + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + subtest=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): self.fail("body")\n')['tests'] + for replacement in ({'id':'test_auditor.C.test_one','phase':'cleanup','outcome':'assertion'}, + {'id':'forged.method','phase':'body','outcome':'assertion'}, + {'id':'test_auditor.C.test_one','phase':'body','outcome':'error'}): + with self.subTest(subtest_event=replacement): + forged=copy.deepcopy(subtest);forged['subtest_events']=[replacement] + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + +class LazyBodyHarnessRules(unittest.TestCase): + """Lazy call creation cannot satisfy synchronous selected-body execution.""" + + def run_lazy_fixture(self,label,body): + with tempfile.TemporaryDirectory() as temporary: + sentinel=Path(temporary)/'lazy-executed' + ordinary=Path(temporary)/'ordinary-executed' + source=('from pathlib import Path\nimport unittest\nimport functools\n' + +'sentinel=Path('+repr(str(sentinel))+')\n' + +'ordinary=Path('+repr(str(ordinary))+')\n'+body) + value=LifecycleHarnessRules.run_fixture(self,source) + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':source, + 'lazy_sentinel_executed':sentinel.exists(), + 'ordinary_sentinel_executed':ordinary.exists(),'receipt':value} + destination=os.environ.get('CBZ_LAZY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return record + + def test_sync_bodies_require_none_and_refuse_other_returns_without_iteration(self): + passed=self.run_lazy_fixture('ordinary-pass','class C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['receipt']['outcome'],'SURVIVED',passed) + killed=self.run_lazy_fixture('ordinary-none-kill', + 'class C(unittest.TestCase):\n def test_a_return(self): return None\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(killed['receipt']['outcome'],'KILLED',killed) + for label,expression in [('zero','0'),('false','False'),('empty-string',"''"),('scalar','7')]: + with self.subTest(value=label): + record=self.run_lazy_fixture('return-'+label,'class C(unittest.TestCase):\n' + +' def test_a_return(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + unknown=self.run_lazy_fixture('ordinary-unknown-iterable', + 'class UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\n' + 'class C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(unknown['receipt']['outcome'],'ERROR',unknown) + self.assertFalse(unknown['lazy_sentinel_executed'],unknown) + self.assertTrue(unknown['ordinary_sentinel_executed'],unknown) + + def test_mixed_lazy_function_shapes_are_refused_before_any_body(self): + methods=[('generator',' def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n'), + ('async-generator',' async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('method-'+label,'class C(unittest.TestCase):\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_wraps_decorated_lazy_functions_are_refused_at_population(self): + decorator=('def transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\n' + 'def lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\n') + methods=[('generator',' def test_a_lazy(self):\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n return None\n'), + ('async-generator',' async def test_a_lazy(self):\n yield 1\n'), + ('lazy-middle',' @lazy_middle\n def test_a_lazy(self): pass\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('wrapped-'+label,decorator+'class C(unittest.TestCase):\n @transparent\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): + returns=[('generator','def make_lazy():\n sentinel.write_text("generator")\n yield 1\n','make_lazy()'), + ('coroutine','async def make_lazy():\n sentinel.write_text("coroutine")\n','make_lazy()'), + ('async-generator','async def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\n','make_lazy()'), + ('custom-awaitable','class CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\n','CustomAwaitable()')] + for label,definitions,expression in returns: + with self.subTest(shape=label): + record=self.run_lazy_fixture('return-'+label,definitions+'class C(unittest.TestCase):\n' + +' def test_a_lazy(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + self.assertTrue(record['receipt']['tests']['invalid_population'],record) + + +import os +import shutil +import subprocess + +class IdentityHarnessRules(unittest.TestCase): + """Real ordinary-body controls for loader and in-process identity binding.""" + + def run_identity_fixture(self, label, source, selectors=()): + import hashlib + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + runner=root/'mutation_test.py' + shutil.copy2(HERE/'mutation_test.py',runner) + events=root/'events' + header=('import unittest\nfrom pathlib import Path\n' + +'def record(label):\n with Path('+repr(str(events))+').open("a") as out: out.write(label+"\\n")\n') + fixture=root/'tests'/'test_auditor.py' + fixture.write_text(header+source) + output=root/'receipt.json' + command=[sys.executable,'-B','-S',str(runner),*['--internal-test-runner','--test-root',str(root/'tests')],'--output',str(output)] + for selector in selectors:command.extend(['--test',selector]) + p=subprocess.run(command,capture_output=True,text=True,timeout=15) + self.assertTrue(output.exists(),p.stderr) + value=json.loads(output.read_text()) + outcome=mutation_test.classify_test_result(value,p.returncode) + observed=events.read_text().splitlines() if events.exists() else [] + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':header+source, + 'fixture_sha256':hashlib.sha256(fixture.read_bytes()).hexdigest(), + 'command':command,'exit_code':p.returncode,'outcome':outcome, + 'events':observed,'receipt':value,'stdout':p.stdout,'stderr':p.stderr} + destination=os.environ.get('CBZ_IDENTITY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return outcome,value,observed + + def test_module_alias_subclass_and_population_hooks_refused_before_execution(self): + base=('class C(unittest.TestCase):\n' + +' def test_first(self): record("first")\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + hooks=[('alias','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('alias-assertion','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('subclass','def load_tests(loader, tests, pattern):\n record("hook")\n def replacement(self): record("replacement")\n R=type("C",(C,),{"test_first":replacement,"test_second":replacement,"__module__":__name__,"__qualname__":"C"})\n globals()["C"]=R\n return loader.loadTestsFromTestCase(R)\n'), + ('omission','def load_tests(loader, tests, pattern):\n record("hook")\n return unittest.TestSuite([C("test_first")])\n')] + for label,hook in hooks: + with self.subTest(shape=label): + source=base+hook + if label=='alias-assertion':source=source.replace('def test_first(self): record("first")','def test_first(self):\n record("first")\n self.fail("first body assertion")') + outcome,value,events=self.run_identity_fixture('hook-'+label,source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + source=('class Hidden(unittest.TestCase):\n def test_hidden(self):\n record("hidden")\n self.fail("hidden body retained")\n' + +'class Visible(unittest.TestCase):\n def test_visible(self): record("visible")\n' + +'def __dir__():\n record("module-dir")\n return ["Visible"]\n') + outcome,value,events=self.run_identity_fixture('module-dir-cannot-hide',source) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['hidden','visible'],value) + self.assertEqual(len(value['selected_ids']),2,value) + + def test_named_class_and_method_selection_preserve_exact_population(self): + source='class C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self): record("second")\n' + for label,selectors,wanted in [('class',('test_auditor.C',),['first','second']), + ('method',('test_auditor.C.test_second',),['second'])]: + with self.subTest(selector=label): + outcome,value,events=self.run_identity_fixture('named-'+label,source,selectors) + self.assertEqual(outcome,'SURVIVED',value) + self.assertEqual(events,wanted,value) + outcome,value,events=self.run_identity_fixture('named-assertion',source.replace('record("first")','record("first"); self.fail("body")'),('test_auditor.C',)) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['first','second'],value) + + def test_callable_factory_selector_is_refused_before_factory_or_body(self): + source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'def factory():\n record("factory")\n return unittest.TestSuite([C("test_one")])\n') + outcome,value,events=self.run_identity_fixture('callable-factory',source,('test_auditor.factory',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + proxy_source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'class Proxy:\n def __getattr__(self,name):\n record("proxy")\n return C\nproxy=Proxy()\n') + outcome,value,events=self.run_identity_fixture('selector-proxy',proxy_source,('test_auditor.proxy.C.test_one',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + constructor_fixtures=[ + ('init','class C(unittest.TestCase):\n def __init__(self,*a,**k):\n record("constructor")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n'), + ('new','class C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record("constructor")\n return super().__new__(cls)\n def test_one(self): record("body")\n'), + ('metaclass','class Meta(type):\n def __call__(cls,*a,**k):\n record("metaclass")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record("body")\n'), + ('getattribute','class C(unittest.TestCase):\n def __getattribute__(self,name):\n record("attribute")\n return super().__getattribute__(name)\n def test_one(self): record("body")\n'), + ('setattr','class C(unittest.TestCase):\n def __setattr__(self,name,value):\n record("attribute")\n return super().__setattr__(name,value)\n def test_one(self): record("body")\n'), + ] + constructor_fixtures.append(('descriptor','class Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record("descriptor")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n test_second=Descriptor(test_second)\n')) + for label,source in constructor_fixtures: + for selection in [(),('test_auditor.C',),('test_auditor.C.'+('test_first' if label=='init' else 'test_second' if label=='descriptor' else 'test_one'),)]: + with self.subTest(constructor=label,selector=selection): + outcome,value,events=self.run_identity_fixture('construction-'+label+'-'+str(len(selection))+'-'+('method' if selection and selection[0].count('.')==2 else 'class'),source,selection) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_class_fixture_function_and_code_substitutions_are_refused(self): + base=('def replacement(self): record("replacement")\n' + +'class C(unittest.TestCase):\n' + +' @classmethod\n def setUpClass(cls):\n record("class-setup")\n CHANGE\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + for label,change in [('function','cls.test_one=replacement'),('code','cls.test_one.__code__=replacement.__code__'), + ('same-code-function','cls.test_one=__import__("types").FunctionType(cls.test_one.__code__,cls.test_one.__globals__)')]: + with self.subTest(change=label): + outcome,value,events=self.run_identity_fixture('class-fixture-'+label,base.replace('CHANGE',change)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['class-setup'],value) + self.assertTrue(value['invalid_population'],value) + + source=('class C(unittest.TestCase):\n' + +' def setUp(self):\n record("setup")\n self.__class__=type("C",(type(self),),{"__module__":__name__,"__qualname__":"C"})\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + outcome,value,events=self.run_identity_fixture('instance-class-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['setup'],value) + self.assertTrue(value['invalid_population'],value) + + def test_postload_substitution_refused_before_any_fixture(self): + spec=importlib.util.spec_from_file_location('identity_runtime_probe',HERE/'mutation_test.py') + runtime=importlib.util.module_from_spec(spec);spec.loader.exec_module(runtime) + events=[] + class Case(unittest.TestCase): + @classmethod + def setUpClass(cls):events.append('class-setup') + def setUp(self):events.append('setup') + def test_one(self):events.append('original') + loader=runtime.IdentityLoader();suite=loader.loadTestsFromTestCase(Case) + def replacement(self):events.append('replacement') + Case.test_one=replacement + value=runtime.execute_test_suite(suite,loader.bindings,loader.invalid) + self.assertTrue(value['invalid_population'],value) + self.assertEqual(events,[],value) + self.assertEqual(value['tests_run'],0,value) + + def test_custom_testcase_run_is_refused_before_execution(self): + source=('class C(unittest.TestCase):\n' + +' def run(self,result=None):\n record("custom-run")\n return super().run(result)\n' + +' def test_one(self): record("body")\n') + outcome,value,events=self.run_identity_fixture('custom-run',source,('test_auditor.C',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_identity_change_during_body_is_not_a_clean_kill(self): + source=('class C(unittest.TestCase):\n' + +' def test_first(self):\n record("first")\n type(self).test_second=type(self).test_first\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + outcome,value,events=self.run_identity_fixture('during-body-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['first'],value) + self.assertTrue(value['invalid_population'],value) + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/EXISTING_APPLICABILITY.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/EXISTING_APPLICABILITY.json new file mode 100644 index 000000000..1e1912155 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/EXISTING_APPLICABILITY.json @@ -0,0 +1,36 @@ +{ + "scope": "top-level source applicability only; no claim against arbitrary runtime assignment or malicious Python", + "all_current_test_modules_without_explicit_load_tests": true, + "files": [ + { + "path": "/workspace/cbz-0/tools/kernel_replay/tests/test_kernel_replay.py", + "sha256": "2ccdd956379bf3ddbc479a10604a10db7c26acee96c54c869c7a6bafc0f2dfeb", + "top_level_load_tests_definitions": [], + "top_level_load_tests_assignments": [] + }, + { + "path": "/workspace/cbz-0/tools/kernel_replay/tests/test_mutation_harness.py", + "sha256": "05a4a2f4c803315f80a3fcb2bb16f0d5d6df19c874c118152c257544880de114", + "top_level_load_tests_definitions": [], + "top_level_load_tests_assignments": [] + }, + { + "path": "/workspace/cbz-0/tools/kernel_replay/tests/test_real_lean.py", + "sha256": "51ab210da908b4e3d74fe179c41a414abf4c53e88458db33f7934ae0010337d7", + "top_level_load_tests_definitions": [], + "top_level_load_tests_assignments": [] + }, + { + "path": "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", + "sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "top_level_load_tests_definitions": [], + "top_level_load_tests_assignments": [] + }, + { + "path": "/workspace/cbz-0/tools/layer_a/tests/test_mutation_runner.py", + "sha256": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3", + "top_level_load_tests_definitions": [], + "top_level_load_tests_assignments": [] + } + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/REPORT.md b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/REPORT.md new file mode 100644 index 000000000..ebba4d1d5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/REPORT.md @@ -0,0 +1,41 @@ +# Test-body identity preflight + +New obligation: determine whether a supported ordinary synchronous None-return +`load_tests` hook can replace the declared body population without detection. +No prior tests, Lean work, scanner campaigns or hosted checks were rerun. + +Both exact current runners have the same concrete gap. Default discovery calls +`load_tests` before capturing the selected population. A hook retaining both +ordinary method declarations but aliasing `test_second` to `test_first` produces +two distinct expected names and complete body events, while executing the first +original body twice and omitting the second. The passing variant returns exit 0 +and `SURVIVED`. The assertion variant returns `KILLED` with two assertion failures, +but still omits the second original body. A same-name replacement subclass also +returns exit 0 and `SURVIVED` while both original body sentinels are absent. + +These controls do not fabricate receipts or override TestCase.run. All selected +functions are ordinary synchronous functions and their ordinary successful +return is None. This is a population-identity defect inside the advertised +profile, not an arbitrary-code sandbox claim. + +The explicit class-selector negative controls bypass the module hook and execute +both original bodies, including the second body's retained failure. Thus the gap +affects default/module discovery. The current kernel production mutation plan +uses class or individual-method selectors, while the layer-a runner's default +baseline and `run_one` discovery are exposed to module hooks. Current five test +modules contain no explicit top-level `load_tests` definition or assignment; +completed applicable source-specific evidence remains valid. + +`RESULTS.json` records six new default-discovery executions and two named-class +controls in normal mode (fourteen subprocess commands including population +listing). Each fixture, unchanged copied runner, full structured result, stdout, +stderr and body trace is retained under `fixtures/`. `SOURCE_BINDINGS.json` binds +the active source generation. `EXISTING_APPLICABILITY.json` records the narrow +existing-source hook check and its limits. + +Minimal repair: derive the canonical selected population from trusted standard +module/class declarations before module hooks; retain original class, function +and code identities in process; refuse unsupported population factories before +fixtures or bodies; compare identities after loading and at starts/body exits. +Explicit class and method selectors must retain their exact supported behavior. +The implementation must have actual omission controls and source guard mutations. diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/RESULTS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/RESULTS.json new file mode 100644 index 000000000..63537c16f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/RESULTS.json @@ -0,0 +1,417 @@ +{ + "new_obligation": "Ordinary synchronous None-return load_tests method alias/same-name class replacement after discovery; original declared bodies retained but omitted", + "execution_mode": "normal only; no old tests rerun", + "source_bindings": { + "kernel_replay/run_tests.py": { + "sha256": "f0a67f6cb3a2e0232d1cb7ff61cd7e5c21ae4c414a8c74c3a3225712b3a74ba3", + "bytes": 10420 + }, + "kernel_replay/mutations.py": { + "sha256": "a1a0b0e7d6c5809c1f3f291a10aa14edc04265ce73cf76494318f966ab69b9bd", + "bytes": 15771 + }, + "layer_a/mutation_test.py": { + "sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "bytes": 30300 + } + }, + "results": [ + { + "tool": "kernel_replay", + "case": "alias-pass", + "commands": [ + { + "phase": "list", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-pass/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-pass/list.json", + "--list" + ], + "exit_code": 0 + }, + { + "phase": "run", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-pass/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-pass/run.json" + ], + "exit_code": 0 + } + ], + "source_sha256": "f0a67f6cb3a2e0232d1cb7ff61cd7e5c21ae4c414a8c74c3a3225712b3a74ba3", + "fixture_sha256": "562b11ed6f4097250316e8b4cbbe7525cacdd4af7fbb8db64f758bacbccc42f2", + "outcome": "SURVIVED", + "selected_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "body_entered_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "body_finished_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "invalid_population": [], + "assertion_failures": 0, + "errors": 0, + "body_trace": [ + "original-first", + "original-first" + ], + "original_second_executed": false + }, + { + "tool": "kernel_replay", + "case": "named-class-control", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-pass/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-pass/named.json", + "--test", + "test_alias.AliasTests" + ], + "exit_code": 1, + "selected_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "body_trace": [ + "original-first", + "original-second" + ], + "assertion_failures": 1, + "errors": 0, + "original_second_executed": true + }, + { + "tool": "kernel_replay", + "case": "alias-kill", + "commands": [ + { + "phase": "list", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-kill/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-kill/list.json", + "--list" + ], + "exit_code": 0 + }, + { + "phase": "run", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-kill/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/alias-kill/run.json" + ], + "exit_code": 1 + } + ], + "source_sha256": "f0a67f6cb3a2e0232d1cb7ff61cd7e5c21ae4c414a8c74c3a3225712b3a74ba3", + "fixture_sha256": "562b11ed6f4097250316e8b4cbbe7525cacdd4af7fbb8db64f758bacbccc42f2", + "outcome": "KILLED", + "selected_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "body_entered_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "body_finished_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "invalid_population": [], + "assertion_failures": 2, + "errors": 0, + "body_trace": [ + "original-first", + "original-first" + ], + "original_second_executed": false + }, + { + "tool": "kernel_replay", + "case": "same-name-subclass", + "commands": [ + { + "phase": "list", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/same-name-subclass/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/same-name-subclass/list.json", + "--list" + ], + "exit_code": 0 + }, + { + "phase": "run", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/same-name-subclass/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/kernel_replay/same-name-subclass/run.json" + ], + "exit_code": 0 + } + ], + "source_sha256": "f0a67f6cb3a2e0232d1cb7ff61cd7e5c21ae4c414a8c74c3a3225712b3a74ba3", + "fixture_sha256": "c75334c2cd7a0e5847ae1f97625151bca76be8a534fa4919c6b52566a577b67f", + "outcome": "SURVIVED", + "selected_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "body_entered_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "body_finished_ids": [ + "test_alias.AliasTests.test_first", + "test_alias.AliasTests.test_second" + ], + "invalid_population": [], + "assertion_failures": 0, + "errors": 0, + "body_trace": [ + "replacement", + "replacement" + ], + "original_second_executed": false + }, + { + "tool": "layer_a", + "case": "alias-pass", + "commands": [ + { + "phase": "list", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/list.json", + "--list" + ], + "exit_code": 0 + }, + { + "phase": "run", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/run.json" + ], + "exit_code": 0 + } + ], + "source_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "fixture_sha256": "562b11ed6f4097250316e8b4cbbe7525cacdd4af7fbb8db64f758bacbccc42f2", + "outcome": "SURVIVED", + "selected_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "body_entered_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "body_finished_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "invalid_population": [], + "assertion_failures": 0, + "errors": 0, + "body_trace": [ + "original-first", + "original-first" + ], + "original_second_executed": false + }, + { + "tool": "layer_a", + "case": "named-class-control", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-pass/named.json", + "--test", + "test_auditor.AliasTests" + ], + "exit_code": 1, + "selected_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "body_trace": [ + "original-first", + "original-second" + ], + "assertion_failures": 1, + "errors": 0, + "original_second_executed": true + }, + { + "tool": "layer_a", + "case": "alias-kill", + "commands": [ + { + "phase": "list", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-kill/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-kill/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-kill/list.json", + "--list" + ], + "exit_code": 0 + }, + { + "phase": "run", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-kill/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-kill/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/alias-kill/run.json" + ], + "exit_code": 1 + } + ], + "source_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "fixture_sha256": "562b11ed6f4097250316e8b4cbbe7525cacdd4af7fbb8db64f758bacbccc42f2", + "outcome": "KILLED", + "selected_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "body_entered_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "body_finished_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "invalid_population": [], + "assertion_failures": 2, + "errors": 0, + "body_trace": [ + "original-first", + "original-first" + ], + "original_second_executed": false + }, + { + "tool": "layer_a", + "case": "same-name-subclass", + "commands": [ + { + "phase": "list", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/same-name-subclass/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/same-name-subclass/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/same-name-subclass/list.json", + "--list" + ], + "exit_code": 0 + }, + { + "phase": "run", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/same-name-subclass/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/same-name-subclass/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-preflight/fixtures/layer_a/same-name-subclass/run.json" + ], + "exit_code": 0 + } + ], + "source_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "fixture_sha256": "c75334c2cd7a0e5847ae1f97625151bca76be8a534fa4919c6b52566a577b67f", + "outcome": "SURVIVED", + "selected_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "body_entered_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "body_finished_ids": [ + "test_auditor.AliasTests.test_first", + "test_auditor.AliasTests.test_second" + ], + "invalid_population": [], + "assertion_failures": 0, + "errors": 0, + "body_trace": [ + "replacement", + "replacement" + ], + "original_second_executed": false + } + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/SOURCE_BINDINGS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/SOURCE_BINDINGS.json new file mode 100644 index 000000000..5a098f8de --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/SOURCE_BINDINGS.json @@ -0,0 +1,14 @@ +{ + "kernel_replay/run_tests.py": { + "sha256": "f0a67f6cb3a2e0232d1cb7ff61cd7e5c21ae4c414a8c74c3a3225712b3a74ba3", + "bytes": 10420 + }, + "kernel_replay/mutations.py": { + "sha256": "a1a0b0e7d6c5809c1f3f291a10aa14edc04265ce73cf76494318f966ab69b9bd", + "bytes": 15771 + }, + "layer_a/mutation_test.py": { + "sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "bytes": 30300 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/preflight.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/preflight.py new file mode 100644 index 000000000..cba5ddddd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/initial-preflight/preflight.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +"""Finite, isolated new identity controls; no production/tool source edits.""" +import hashlib, importlib.util, json, os +from pathlib import Path +import shutil, subprocess, sys + +ROOT=Path(__file__).resolve().parent +ACTIVE=Path('/workspace/cbz-0/tools') +SOURCES={'kernel_replay':['run_tests.py','mutations.py'], 'layer_a':['mutation_test.py']} + +def sha(raw): return hashlib.sha256(raw).hexdigest() +def load(path,name): + spec=importlib.util.spec_from_file_location(name,path); m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m);return m + +FIXTURE='''import os\nfrom pathlib import Path\nimport unittest\ndef trace(label):\n with Path(os.environ['CBZ_PREFLIGHT_TRACE']).open('a') as out: out.write(label+'\\n')\nclass AliasTests(unittest.TestCase):\n def test_first(self):\n trace('original-first')\n if os.environ.get('CBZ_PREFLIGHT_FAIL_FIRST') == '1': self.fail('original first body assertion')\n def test_second(self):\n trace('original-second')\n self.fail('original second body must remain covered')\n''' +HOOK_ALIAS='''\ndef load_tests(loader, tests, pattern):\n AliasTests.test_second = AliasTests.test_first\n return tests\n''' +HOOK_CLASS='''\ndef load_tests(loader, tests, pattern):\n def replacement(self):\n trace('replacement')\n Replacement = type('AliasTests', (AliasTests,), {'test_first':replacement,'test_second':replacement,'__module__':__name__,'__qualname__':'AliasTests'})\n globals()['AliasTests'] = Replacement\n return loader.loadTestsFromTestCase(Replacement)\n''' + +baseline={} +for tool, names in SOURCES.items(): + for name in names: + raw=(ACTIVE/tool/name).read_bytes();baseline[f'{tool}/{name}']={'sha256':sha(raw),'bytes':len(raw)} +(ROOT/'SOURCE_BINDINGS.json').write_text(json.dumps(baseline,indent=2)+'\n') +results=[] +for tool in SOURCES: + runner_name='run_tests.py' if tool=='kernel_replay' else 'mutation_test.py' + for case,hook,fail in [('alias-pass',HOOK_ALIAS,False),('alias-kill',HOOK_ALIAS,True),('same-name-subclass',HOOK_CLASS,False)]: + work=ROOT/'fixtures'/tool/case; (work/'tests').mkdir(parents=True,exist_ok=True) + for name in SOURCES[tool]: (work/name).write_bytes((ACTIVE/tool/name).read_bytes()) + fixture_name='test_alias.py' if tool=='kernel_replay' else 'test_auditor.py' + (work/'tests'/fixture_name).write_text(FIXTURE+hook) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['CBZ_PREFLIGHT_TRACE']=str(work/'body-trace.txt');env['CBZ_PREFLIGHT_FAIL_FIRST']='1' if fail else '0' + args=[sys.executable,'-B','-S',str(work/runner_name)] + if tool=='layer_a':args+=['--internal-test-runner','--test-root',str(work/'tests')] + cmds=[] + for phase in ('list','run'): + output=work/(phase+'.json');cmd=args+['--output',str(output)]+(['--list'] if phase=='list' else []) + p=subprocess.run(cmd,cwd=work,env=env,capture_output=True,text=True,timeout=15) + (work/(phase+'.stdout')).write_text(p.stdout);(work/(phase+'.stderr')).write_text(p.stderr) + cmds.append({'phase':phase,'command':cmd,'exit_code':p.returncode}) + population=json.loads((work/'list.json').read_text());value=json.loads((work/'run.json').read_text()) + grader=load(work/('mutations.py' if tool=='kernel_replay' else 'mutation_test.py'),f'grader_{tool}_{case.replace("-","_")}') + if tool=='kernel_replay':outcome=grader.classify(value,cmds[-1]['exit_code'],['discover:test_*.py'],population['selected_ids']) + else:outcome=grader.classify_test_result(value,cmds[-1]['exit_code'],population['selected_ids']) + trace=(work/'body-trace.txt').read_text().splitlines() + row={'tool':tool,'case':case,'commands':cmds,'source_sha256':sha((work/runner_name).read_bytes()),'fixture_sha256':sha((work/'tests'/fixture_name).read_bytes()),'outcome':outcome,'selected_ids':value['selected_ids'],'body_entered_ids':value['body_entered_ids'],'body_finished_ids':value['body_finished_ids'],'invalid_population':value['invalid_population'],'assertion_failures':value['assertion_failures'],'errors':value['errors'],'body_trace':trace,'original_second_executed':'original-second' in trace} + results.append(row) + # Class-selector negative control: unittest bypasses the module load_tests hook. + if case=='alias-pass': + env['CBZ_PREFLIGHT_TRACE']=str(work/'named-body-trace.txt') + module=fixture_name[:-3];output=work/'named.json';cmd=args+['--output',str(output),'--test',module+'.AliasTests'] + p=subprocess.run(cmd,cwd=work,env=env,capture_output=True,text=True,timeout=15) + (work/'named.stdout').write_text(p.stdout);(work/'named.stderr').write_text(p.stderr) + nv=json.loads(output.read_text()); nt=(work/'named-body-trace.txt').read_text().splitlines() + results.append({'tool':tool,'case':'named-class-control','command':cmd,'exit_code':p.returncode,'selected_ids':nv['selected_ids'],'body_trace':nt,'assertion_failures':nv['assertion_failures'],'errors':nv['errors'],'original_second_executed':'original-second' in nt}) +report={'new_obligation':'Ordinary synchronous None-return load_tests method alias/same-name class replacement after discovery; original declared bodies retained but omitted','execution_mode':'normal only; no old tests rerun','source_bindings':baseline,'results':results} +(ROOT/'RESULTS.json').write_text(json.dumps(report,indent=2)+'\n') +print(json.dumps([{'tool':r['tool'],'case':r['case'],'outcome':r.get('outcome'),'exit_code':r.get('exit_code',r.get('commands',[{}])[-1].get('exit_code')),'trace':r['body_trace'],'second_executed':r['original_second_executed'],'failures':r['assertion_failures']} for r in results],indent=2)) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-normal-dev2.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-normal-dev2.json new file mode 100644 index 000000000..cb7c5af2f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-normal-dev2.json @@ -0,0 +1,512 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 76, + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 18, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... ok\ntest_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok\ntest_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... ok\ntest_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok\ntest_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... ok\ntest_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... FAIL\ntest_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok\ntest_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok\ntest_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... ok\ntest_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... ok\ntest_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... ok\ntest_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok\ntest_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\ntest_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok\ntest_custom_testcase_run_is_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution) ... ok\ntest_identity_change_during_body_is_not_a_clean_kill (test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill) ... ok\ntest_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok\ntest_named_class_and_method_selection_preserve_exact_population (test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population) ... ok\n\n======================================================================\nFAIL: test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: ['test_auditor.C.test_one', 'test_auditor.C.test_two'] != ['test_auditor.C.test_one']\n\nFirst list contains 1 additional elements.\nFirst extra element 1:\n'test_auditor.C.test_two'\n\n- ['test_auditor.C.test_one', 'test_auditor.C.test_two']\n+ ['test_auditor.C.test_one']\n\nRan 18 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-normal-dev2.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-normal-dev2.log new file mode 100644 index 000000000..e4ee0adab --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-normal-dev2.log @@ -0,0 +1,36 @@ +test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... ok +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok +test_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... ok +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... ok +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... FAIL +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... ok +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... ok +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... ok +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok +test_custom_testcase_run_is_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution) ... ok +test_identity_change_during_body_is_not_a_clean_kill (test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill) ... ok +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok +test_named_class_and_method_selection_preserve_exact_population (test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population) ... ok + +====================================================================== +FAIL: test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/mutation_test.py", line 424, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: ['test_auditor.C.test_one', 'test_auditor.C.test_two'] != ['test_auditor.C.test_one'] + +First list contains 1 additional elements. +First extra element 1: +'test_auditor.C.test_two' + +- ['test_auditor.C.test_one', 'test_auditor.C.test_two'] ++ ['test_auditor.C.test_one'] + +Ran 18 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-optimized.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-optimized.json new file mode 100644 index 000000000..6e5962607 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-optimized.json @@ -0,0 +1,499 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 76, + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 18, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... ok\ntest_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok\ntest_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... ok\ntest_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok\ntest_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... ok\ntest_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... ok\ntest_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok\ntest_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok\ntest_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... ok\ntest_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... ok\ntest_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... ok\ntest_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok\ntest_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\ntest_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok\ntest_custom_testcase_run_is_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution) ... ok\ntest_identity_change_during_body_is_not_a_clean_kill (test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill) ... ok\ntest_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok\ntest_named_class_and_method_selection_preserve_exact_population (test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population) ... ok\n\nRan 18 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-optimized.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-optimized.log new file mode 100644 index 000000000..bf4ae2deb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/affected-optimized.log @@ -0,0 +1,20 @@ +test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... ok +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok +test_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... ok +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... ok +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... ok +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... ok +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... ok +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... ok +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok +test_custom_testcase_run_is_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution) ... ok +test_identity_change_during_body_is_not_a_clean_kill (test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill) ... ok +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok +test_named_class_and_method_selection_preserve_exact_population (test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population) ... ok + +Ran 18 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/canonical-population-normal.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/canonical-population-normal.json new file mode 100644 index 000000000..4b785875f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/canonical-population-normal.json @@ -0,0 +1,33 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/canonical-population-normal.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/canonical-population-normal.log new file mode 100644 index 000000000..d83ff31e1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/canonical-population-normal.log @@ -0,0 +1,3 @@ +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... ok + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-normal.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-normal.json new file mode 100644 index 000000000..233e346dc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-normal.json @@ -0,0 +1,134 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 19, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 2, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok\ntest_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-normal.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-normal.log new file mode 100644 index 000000000..a76d55a0d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-normal.log @@ -0,0 +1,4 @@ +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok + +Ran 2 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-optimized.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-optimized.json new file mode 100644 index 000000000..233e346dc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-optimized.json @@ -0,0 +1,134 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 19, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 2, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok\ntest_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-optimized.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-optimized.log new file mode 100644 index 000000000..a76d55a0d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/construction-discovery-optimized.log @@ -0,0 +1,4 @@ +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok + +Ran 2 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-normal.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-normal.json new file mode 100644 index 000000000..39aa25d5d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-normal.json @@ -0,0 +1,169 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-normal.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-normal.log new file mode 100644 index 000000000..c5628aef9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-normal.log @@ -0,0 +1,3 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-optimized.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-optimized.json new file mode 100644 index 000000000..39aa25d5d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-optimized.json @@ -0,0 +1,169 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-optimized.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-optimized.log new file mode 100644 index 000000000..c5628aef9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/exact-descriptor-optimized.log @@ -0,0 +1,3 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/receipt.json new file mode 100644 index 000000000..7ee2d08d4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/receipt.json @@ -0,0 +1,46 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stdout.log new file mode 100644 index 000000000..c5a634a96 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/accept-callable-selector-factory/stdout.log @@ -0,0 +1,15 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/mutation_test.py", line 427, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/receipt.json new file mode 100644 index 000000000..1052d89ea --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/receipt.json @@ -0,0 +1,181 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 15, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 14, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... \n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C.test_first',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C.test_one',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C.test_one',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C.test_one',)) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 361, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(events,[],value)\nAssertionError: Lists differ: ['constructor', 'constructor'] != []\n\nFirst list contains 2 additional elements.\nFirst extra element 0:\n'constructor'\n\n- ['constructor', 'constructor']\n+ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected declaration changed during construction'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'Refused unsupported selected test population before execution.\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 361, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(events,[],value)\nAssertionError: Lists differ: ['constructor', 'constructor'] != []\n\nFirst list contains 2 additional elements.\nFirst extra element 0:\n'constructor'\n\n- ['constructor', 'constructor']\n+ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected declaration changed during construction'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'Refused unsupported selected test population before execution.\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C.test_first',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first'], 'started_ids': ['test_auditor.C.test_first'], 'finished_ids': ['test_auditor.C.test_first'], 'body_entered_ids': ['test_auditor.C.test_first'], 'body_finished_ids': ['test_auditor.C.test_first'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C.test_one',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C.test_one',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C.test_one',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stdout.log new file mode 100644 index 000000000..713be694a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-custom-construction/stdout.log @@ -0,0 +1,179 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C.test_first',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C.test_one',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C.test_one',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C.test_one',)) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 361, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(events,[],value) +AssertionError: Lists differ: ['constructor', 'constructor'] != [] + +First list contains 2 additional elements. +First extra element 0: +'constructor' + +- ['constructor', 'constructor'] ++ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected declaration changed during construction'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'Refused unsupported selected test population before execution.\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 361, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(events,[],value) +AssertionError: Lists differ: ['constructor', 'constructor'] != [] + +First list contains 2 additional elements. +First extra element 0: +'constructor' + +- ['constructor', 'constructor'] ++ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected declaration changed during construction'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'Refused unsupported selected test population before execution.\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C.test_first',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first'], 'started_ids': ['test_auditor.C.test_first'], 'finished_ids': ['test_auditor.C.test_first'], 'body_entered_ids': ['test_auditor.C.test_first'], 'body_finished_ids': ['test_auditor.C.test_first'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C.test_one',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C.test_one',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C.test_one',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/receipt.json new file mode 100644 index 000000000..e0d3bbe4d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/receipt.json @@ -0,0 +1,67 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 4, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... FAIL\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/mutation_test.py\", line 475, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'KILLED'\n- SURVIVED\n+ KILLED\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.Visible.test_visible'], 'started_ids': ['test_auditor.Visible.test_visible'], 'finished_ids': ['test_auditor.Visible.test_visible'], 'body_entered_ids': ['test_auditor.Visible.test_visible'], 'body_finished_ids': ['test_auditor.Visible.test_visible'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_visible (test_auditor.Visible.test_visible) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stdout.log new file mode 100644 index 000000000..102462168 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-module-dir-population-omission/stdout.log @@ -0,0 +1,15 @@ +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... FAIL + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/mutation_test.py", line 475, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SURVIVED' != 'KILLED' +- SURVIVED ++ KILLED + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.Visible.test_visible'], 'started_ids': ['test_auditor.Visible.test_visible'], 'finished_ids': ['test_auditor.Visible.test_visible'], 'body_entered_ids': ['test_auditor.Visible.test_visible'], 'body_finished_ids': ['test_auditor.Visible.test_visible'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_visible (test_auditor.Visible.test_visible) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json new file mode 100644 index 000000000..f4754baf1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json @@ -0,0 +1,182 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/mutation_test.py\", line 487, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.helper'], 'started_ids': ['test_auditor.C.helper'], 'finished_ids': ['test_auditor.C.helper'], 'body_entered_ids': ['test_auditor.C.helper'], 'body_finished_ids': ['test_auditor.C.helper'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'helper (test_auditor.C.helper) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stdout.log new file mode 100644 index 000000000..67919b22b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-named-descriptor-subclasses/stdout.log @@ -0,0 +1,15 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/mutation_test.py", line 487, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.helper'], 'started_ids': ['test_auditor.C.helper'], 'finished_ids': ['test_auditor.C.helper'], 'body_entered_ids': ['test_auditor.C.helper'], 'body_finished_ids': ['test_auditor.C.helper'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'helper (test_auditor.C.helper) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json new file mode 100644 index 000000000..58f5cef78 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json @@ -0,0 +1,46 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/mutation_test.py\", line 476, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stdout.log new file mode 100644 index 000000000..ef44ab8ba --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/stdout.log @@ -0,0 +1,15 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/mutation_test.py", line 476, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json new file mode 100644 index 000000000..e8964f80b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json @@ -0,0 +1,191 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 4, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... \n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=('test_auditor.C',)) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\nRan 2 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stdout.log new file mode 100644 index 000000000..19ac8083d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/allow-static-descriptor-subclasses/stdout.log @@ -0,0 +1,51 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=('test_auditor.C',)) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/receipt.json new file mode 100644 index 000000000..246ce5cef --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/receipt.json @@ -0,0 +1,61 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL\n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpz2pccwy3/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpi_n7fqai/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stdout.log new file mode 100644 index 000000000..e7c510b0e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-declared-function-chain/stdout.log @@ -0,0 +1,27 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpz2pccwy3/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpi_n7fqai/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/receipt.json new file mode 100644 index 000000000..3f31ae9ec --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/receipt.json @@ -0,0 +1,76 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 4, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 4, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... \n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission') ... FAIL\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py\", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpjpuiz5s0/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py\", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_first', 'source': 'direct'}, {'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_first', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... FAIL\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_first (test_auditor.C.test_first)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmp_x35o1a3/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: first body assertion\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmp_x35o1a3/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py\", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpmx3s_gaj/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py\", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpgh9a6t6c/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\nRan 2 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stdout.log new file mode 100644 index 000000000..67d9488d3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-module-hook-refusal/stdout.log @@ -0,0 +1,51 @@ +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... + test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias') ... FAIL + test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion') ... FAIL + test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass') ... FAIL + test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission') ... FAIL + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... FAIL\n\n======================================================================\nFAIL: test_second (test_auditor.C.test_second)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpjpuiz5s0/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: retained second body\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_first', 'source': 'direct'}, {'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_first', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... FAIL\ntest_second (test_auditor.C.test_second) ... FAIL\n\n======================================================================\nFAIL: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmp_x35o1a3/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: first body assertion\n\n======================================================================\nFAIL: test_second (test_auditor.C.test_second)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmp_x35o1a3/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: retained second body\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... FAIL\n\n======================================================================\nFAIL: test_second (test_auditor.C.test_second)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpmx3s_gaj/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: retained second body\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests/test_mutation_runner.py", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... FAIL\n\n======================================================================\nFAIL: test_second (test_auditor.C.test_second)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpgh9a6t6c/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: retained second body\n\nRan 2 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/receipt.json new file mode 100644 index 000000000..abe4b5300 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/receipt.json @@ -0,0 +1,56 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stdout.log new file mode 100644 index 000000000..128ffe59d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-code-object/stdout.log @@ -0,0 +1,15 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/receipt.json new file mode 100644 index 000000000..cc79f63ab --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/receipt.json @@ -0,0 +1,56 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmp096e_56n/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stdout.log new file mode 100644 index 000000000..56df9b9e5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-original-function-object/stdout.log @@ -0,0 +1,15 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmp096e_56n/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/receipt.json new file mode 100644 index 000000000..99731367a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/receipt.json @@ -0,0 +1,62 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpghtqfxqr/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stdout.log new file mode 100644 index 000000000..42dcc62ff --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/ignore-selected-class-object/stdout.log @@ -0,0 +1,15 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/mutation_test.py", line 427, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpghtqfxqr/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json new file mode 100644 index 000000000..add353461 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json @@ -0,0 +1,186 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 3, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... \n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C.test_one',)) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C.test_one',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stdout.log new file mode 100644 index 000000000..2144a8412 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/stdout.log @@ -0,0 +1,39 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C.test_one',)) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C.test_one',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json new file mode 100644 index 000000000..bc336b2e8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json @@ -0,0 +1,46 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) ... FAIL\n\n======================================================================\nFAIL: test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: ['class-setup'] != []\n\nFirst list contains 1 additional elements.\nFirst extra element 0:\n'class-setup'\n\n- ['class-setup']\n+ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture..Case.test_one'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected class/function/code identity changed during execution'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': '\\nRan 0 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stdout.log new file mode 100644 index 000000000..f35b2c859 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-before-fixture-identity-validation/stdout.log @@ -0,0 +1,19 @@ +test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) ... FAIL + +====================================================================== +FAIL: test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/mutation_test.py", line 427, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: ['class-setup'] != [] + +First list contains 1 additional elements. +First extra element 0: +'class-setup' + +- ['class-setup'] ++ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture..Case.test_one'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected class/function/code identity changed during execution'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': '\nRan 0 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/receipt.json new file mode 100644 index 000000000..ef4d297b9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/receipt.json @@ -0,0 +1,77 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 4, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL\n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL\n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL\ntest_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmp3ynbf347/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpj27mzut4/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpuspeeazp/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stdout.log new file mode 100644 index 000000000..272912e71 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/normal/skip-runtime-identity-validation/stdout.log @@ -0,0 +1,52 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmp3ynbf347/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpj27mzut4/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/mutation_test.py", line 427, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpuspeeazp/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/receipt.json new file mode 100644 index 000000000..4863d4668 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/receipt.json @@ -0,0 +1,46 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stdout.log new file mode 100644 index 000000000..9d06cae09 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/accept-callable-selector-factory/stdout.log @@ -0,0 +1,15 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/mutation_test.py", line 427, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/receipt.json new file mode 100644 index 000000000..1c395eb05 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/receipt.json @@ -0,0 +1,181 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 15, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 14, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... \n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C.test_first',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C.test_one',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C.test_one',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C.test_one',)) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 361, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(events,[],value)\nAssertionError: Lists differ: ['constructor', 'constructor'] != []\n\nFirst list contains 2 additional elements.\nFirst extra element 0:\n'constructor'\n\n- ['constructor', 'constructor']\n+ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected declaration changed during construction'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'Refused unsupported selected test population before execution.\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 361, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(events,[],value)\nAssertionError: Lists differ: ['constructor', 'constructor'] != []\n\nFirst list contains 2 additional elements.\nFirst extra element 0:\n'constructor'\n\n- ['constructor', 'constructor']\n+ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected declaration changed during construction'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'Refused unsupported selected test population before execution.\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C.test_first',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first'], 'started_ids': ['test_auditor.C.test_first'], 'finished_ids': ['test_auditor.C.test_first'], 'body_entered_ids': ['test_auditor.C.test_first'], 'body_finished_ids': ['test_auditor.C.test_first'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C.test_one',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C.test_one',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C.test_one',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py\", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stdout.log new file mode 100644 index 000000000..207d49c2f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-custom-construction/stdout.log @@ -0,0 +1,179 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C.test_first',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C.test_one',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C.test_one',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C.test_one',)) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 361, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(events,[],value) +AssertionError: Lists differ: ['constructor', 'constructor'] != [] + +First list contains 2 additional elements. +First extra element 0: +'constructor' + +- ['constructor', 'constructor'] ++ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected declaration changed during construction'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'Refused unsupported selected test population before execution.\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 361, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(events,[],value) +AssertionError: Lists differ: ['constructor', 'constructor'] != [] + +First list contains 2 additional elements. +First extra element 0: +'constructor' + +- ['constructor', 'constructor'] ++ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected declaration changed during construction'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'Refused unsupported selected test population before execution.\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='init', selector=('test_auditor.C.test_first',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first'], 'started_ids': ['test_auditor.C.test_first'], 'finished_ids': ['test_auditor.C.test_first'], 'body_entered_ids': ['test_auditor.C.test_first'], 'body_finished_ids': ['test_auditor.C.test_first'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='new', selector=('test_auditor.C.test_one',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='metaclass', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='getattribute', selector=('test_auditor.C.test_one',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='setattr', selector=('test_auditor.C.test_one',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests/test_mutation_runner.py", line 360, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json new file mode 100644 index 000000000..c6f67c5ab --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json @@ -0,0 +1,67 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 4, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... FAIL\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/mutation_test.py\", line 475, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'KILLED'\n- SURVIVED\n+ KILLED\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.Visible.test_visible'], 'started_ids': ['test_auditor.Visible.test_visible'], 'finished_ids': ['test_auditor.Visible.test_visible'], 'body_entered_ids': ['test_auditor.Visible.test_visible'], 'body_finished_ids': ['test_auditor.Visible.test_visible'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_visible (test_auditor.Visible.test_visible) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stdout.log new file mode 100644 index 000000000..4dee027f5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-module-dir-population-omission/stdout.log @@ -0,0 +1,15 @@ +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... FAIL + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/mutation_test.py", line 475, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SURVIVED' != 'KILLED' +- SURVIVED ++ KILLED + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.Visible.test_visible'], 'started_ids': ['test_auditor.Visible.test_visible'], 'finished_ids': ['test_auditor.Visible.test_visible'], 'body_entered_ids': ['test_auditor.Visible.test_visible'], 'body_finished_ids': ['test_auditor.Visible.test_visible'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_visible (test_auditor.Visible.test_visible) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json new file mode 100644 index 000000000..c6667901e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json @@ -0,0 +1,182 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/mutation_test.py\", line 487, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.helper'], 'started_ids': ['test_auditor.C.helper'], 'finished_ids': ['test_auditor.C.helper'], 'body_entered_ids': ['test_auditor.C.helper'], 'body_finished_ids': ['test_auditor.C.helper'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'helper (test_auditor.C.helper) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stdout.log new file mode 100644 index 000000000..63c357c3a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-named-descriptor-subclasses/stdout.log @@ -0,0 +1,15 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/mutation_test.py", line 487, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.helper'], 'started_ids': ['test_auditor.C.helper'], 'finished_ids': ['test_auditor.C.helper'], 'body_entered_ids': ['test_auditor.C.helper'], 'body_finished_ids': ['test_auditor.C.helper'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'helper (test_auditor.C.helper) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json new file mode 100644 index 000000000..b71538f3a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json @@ -0,0 +1,46 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/mutation_test.py\", line 476, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stdout.log new file mode 100644 index 000000000..479524804 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/stdout.log @@ -0,0 +1,15 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/mutation_test.py", line 476, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json new file mode 100644 index 000000000..61caf10de --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json @@ -0,0 +1,191 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 4, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... \n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=('test_auditor.C',)) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\nRan 2 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stdout.log new file mode 100644 index 000000000..c8f81a53f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/allow-static-descriptor-subclasses/stdout.log @@ -0,0 +1,51 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=('test_auditor.C',)) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-staticmethod', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='descriptor-classmethod', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/receipt.json new file mode 100644 index 000000000..cb44e10d0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/receipt.json @@ -0,0 +1,61 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL\n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmp6u1d2_tl/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpgcw2x5fj/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stdout.log new file mode 100644 index 000000000..7eccdc4a1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-declared-function-chain/stdout.log @@ -0,0 +1,27 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmp6u1d2_tl/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpgcw2x5fj/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json new file mode 100644 index 000000000..501a83390 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json @@ -0,0 +1,76 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 4, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 4, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... \n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission') ... FAIL\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests/test_mutation_runner.py\", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmp3v9bhi5k/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests/test_mutation_runner.py\", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_first', 'source': 'direct'}, {'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_first', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... FAIL\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_first (test_auditor.C.test_first)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpbwt2spo0/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: first body assertion\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpbwt2spo0/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests/test_mutation_runner.py\", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpdc6s5ruy/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\nRan 2 tests\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests/test_mutation_runner.py\", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpfh2ht9gh/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\nRan 2 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stdout.log new file mode 100644 index 000000000..b761a469f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-module-hook-refusal/stdout.log @@ -0,0 +1,51 @@ +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... + test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias') ... FAIL + test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion') ... FAIL + test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass') ... FAIL + test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission') ... FAIL + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests/test_mutation_runner.py", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... FAIL\n\n======================================================================\nFAIL: test_second (test_auditor.C.test_second)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmp3v9bhi5k/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: retained second body\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests/test_mutation_runner.py", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_first', 'source': 'direct'}, {'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_first', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... FAIL\ntest_second (test_auditor.C.test_second) ... FAIL\n\n======================================================================\nFAIL: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpbwt2spo0/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: first body assertion\n\n======================================================================\nFAIL: test_second (test_auditor.C.test_second)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpbwt2spo0/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: retained second body\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests/test_mutation_runner.py", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... FAIL\n\n======================================================================\nFAIL: test_second (test_auditor.C.test_second)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpdc6s5ruy/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: retained second body\n\nRan 2 tests\n'} + +====================================================================== +FAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests/test_mutation_runner.py", line 317, in test_module_alias_subclass_and_population_hooks_refused_before_execution + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... FAIL\n\n======================================================================\nFAIL: test_second (test_auditor.C.test_second)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpfh2ht9gh/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: retained second body\n\nRan 2 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/receipt.json new file mode 100644 index 000000000..68840374d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/receipt.json @@ -0,0 +1,56 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stdout.log new file mode 100644 index 000000000..ecbf8f51d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-code-object/stdout.log @@ -0,0 +1,15 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/receipt.json new file mode 100644 index 000000000..20383643b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/receipt.json @@ -0,0 +1,56 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpmt0b16o4/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stdout.log new file mode 100644 index 000000000..fa4556838 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-original-function-object/stdout.log @@ -0,0 +1,15 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpmt0b16o4/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/receipt.json new file mode 100644 index 000000000..dd96eec9b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/receipt.json @@ -0,0 +1,62 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpxh_uk9id/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stdout.log new file mode 100644 index 000000000..e06e2668b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/ignore-selected-class-object/stdout.log @@ -0,0 +1,15 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/mutation_test.py", line 427, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpxh_uk9id/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json new file mode 100644 index 000000000..f52bb10ee --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json @@ -0,0 +1,186 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 3, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... \n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=()) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C',)) ... FAIL\n test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C.test_one',)) ... FAIL\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=())\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C.test_one',))\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py\", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stdout.log new file mode 100644 index 000000000..871f66a0c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/stdout.log @@ -0,0 +1,39 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=()) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C',)) ... FAIL + test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C.test_one',)) ... FAIL + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=()) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) (constructor='special-descriptor', selector=('test_auditor.C.test_one',)) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/tests/test_mutation_runner.py", line 370, in test_callable_factory_selector_is_refused_before_factory_or_body + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json new file mode 100644 index 000000000..20a573773 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json @@ -0,0 +1,46 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) ... FAIL\n\n======================================================================\nFAIL: test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: Lists differ: ['class-setup'] != []\n\nFirst list contains 1 additional elements.\nFirst extra element 0:\n'class-setup'\n\n- ['class-setup']\n+ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture..Case.test_one'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected class/function/code identity changed during execution'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': '\\nRan 0 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stdout.log new file mode 100644 index 000000000..0c01b737c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-before-fixture-identity-validation/stdout.log @@ -0,0 +1,19 @@ +test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) ... FAIL + +====================================================================== +FAIL: test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/mutation_test.py", line 427, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: Lists differ: ['class-setup'] != [] + +First list contains 1 additional elements. +First extra element 0: +'class-setup' + +- ['class-setup'] ++ [] : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture..Case.test_one'], 'started_ids': [], 'finished_ids': [], 'body_entered_ids': [], 'body_finished_ids': [], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': ['selected class/function/code identity changed during execution'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 0, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': '\nRan 0 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json new file mode 100644 index 000000000..ea5371f2e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json @@ -0,0 +1,77 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 4, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL\n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL\n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL\ntest_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... FAIL\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpbutw29ph/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/tests/test_mutation_runner.py\", line 350, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpx0dnt7yo/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpc6md0qq_/mutation_test.py\", line 427, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\nRan 1 tests\\n'}\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stdout.log new file mode 100644 index 000000000..8762668ab --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/guard-mutants/optimized/skip-runtime-identity-validation/stdout.log @@ -0,0 +1,52 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL + test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') ... FAIL +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... FAIL + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpbutw29ph/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='same-code-function') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/tests/test_mutation_runner.py", line 350, in test_class_fixture_function_and_code_substitutions_are_refused + self.assertEqual(outcome,'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpx0dnt7yo/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +====================================================================== +FAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/mutation_test.py", line 427, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/tmpc6md0qq_/mutation_test.py", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: original body retained\n\nRan 1 tests\n'} + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-green-dev1.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-green-dev1.json new file mode 100644 index 000000000..b17646721 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-green-dev1.json @@ -0,0 +1,94 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 8, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 5, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\ntest_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok\ntest_identity_change_during_body_is_not_a_clean_kill (test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill) ... ok\ntest_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok\ntest_named_class_and_method_selection_preserve_exact_population (test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population) ... ok\n\nRan 5 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-green-dev1.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-green-dev1.log new file mode 100644 index 000000000..0e73dbb03 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-green-dev1.log @@ -0,0 +1,7 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok +test_identity_change_during_body_is_not_a_clean_kill (test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill) ... ok +test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... ok +test_named_class_and_method_selection_preserve_exact_population (test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population) ... ok + +Ran 5 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/callable-factory.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/callable-factory.json new file mode 100644 index 000000000..58009cece --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/callable-factory.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp23klnsuo/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp23klnsuo/tests", + "--output", + "/tmp/tmp23klnsuo/receipt.json", + "--test", + "test_auditor.factory" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "ff5a9170b3bd74d02f931043f5bce0aa42e7c2aafc0e8b453a553812e5e10853", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp23klnsuo/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_one(self): record(\"body\")\ndef factory():\n record(\"factory\")\n return unittest.TestSuite([C(\"test_one\")])\n", + "label": "callable-factory", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.factory (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-code.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-code.json new file mode 100644 index 000000000..a29d2c9c5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-code.json @@ -0,0 +1,51 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp799vfurr/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp799vfurr/tests", + "--output", + "/tmp/tmp799vfurr/receipt.json" + ], + "events": [ + "class-setup" + ], + "exit_code": 0, + "fixture_sha256": "2804d0f5d634b2a1c50aa0f6b4acf998ff6bdfea6b27cb905af67ec7f9b294c2", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp799vfurr/events').open(\"a\") as out: out.write(label+\"\\n\")\ndef replacement(self): record(\"replacement\")\nclass C(unittest.TestCase):\n @classmethod\n def setUpClass(cls):\n record(\"class-setup\")\n cls.test_one.__code__=replacement.__code__\n def test_one(self):\n record(\"original\")\n self.fail(\"original body retained\")\n", + "label": "class-fixture-code", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "\nRan 0 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "\nRan 0 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-function.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-function.json new file mode 100644 index 000000000..48db8eea7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-function.json @@ -0,0 +1,51 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp7fu461s6/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp7fu461s6/tests", + "--output", + "/tmp/tmp7fu461s6/receipt.json" + ], + "events": [ + "class-setup" + ], + "exit_code": 0, + "fixture_sha256": "66e601f0fff03910cc46e18789973332e3dad2c081ed55dcf67cd6b1e147b236", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp7fu461s6/events').open(\"a\") as out: out.write(label+\"\\n\")\ndef replacement(self): record(\"replacement\")\nclass C(unittest.TestCase):\n @classmethod\n def setUpClass(cls):\n record(\"class-setup\")\n cls.test_one=replacement\n def test_one(self):\n record(\"original\")\n self.fail(\"original body retained\")\n", + "label": "class-fixture-function", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "\nRan 0 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "\nRan 0 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-same-code-function.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-same-code-function.json new file mode 100644 index 000000000..b07c6ee59 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/class-fixture-same-code-function.json @@ -0,0 +1,51 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp6hyqwt63/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp6hyqwt63/tests", + "--output", + "/tmp/tmp6hyqwt63/receipt.json" + ], + "events": [ + "class-setup" + ], + "exit_code": 0, + "fixture_sha256": "6412c07e0d90d85a8a398c9ce463398a8b02af5f8745d0e52d21276b11f1884e", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp6hyqwt63/events').open(\"a\") as out: out.write(label+\"\\n\")\ndef replacement(self): record(\"replacement\")\nclass C(unittest.TestCase):\n @classmethod\n def setUpClass(cls):\n record(\"class-setup\")\n cls.test_one=__import__(\"types\").FunctionType(cls.test_one.__code__,cls.test_one.__globals__)\n def test_one(self):\n record(\"original\")\n self.fail(\"original body retained\")\n", + "label": "class-fixture-same-code-function", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "\nRan 0 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "\nRan 0 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-0-class.json new file mode 100644 index 000000000..4e6d6d08f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpl9bu96g7/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpl9bu96g7/tests", + "--output", + "/tmp/tmpl9bu96g7/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "25b644557614241ee9dcb279c830d2e634bc6b0bca588c28626ea954ab974bad", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpl9bu96g7/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record(\"descriptor\")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Descriptor(test_second)\n", + "label": "construction-descriptor-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-class.json new file mode 100644 index 000000000..226d477a4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpz91w30na/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpz91w30na/tests", + "--output", + "/tmp/tmpz91w30na/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "1160bca788349095955562770569755ee87359ab6c1439f77efad445afa05793", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpz91w30na/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record(\"descriptor\")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Descriptor(test_second)\n", + "label": "construction-descriptor-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-method.json new file mode 100644 index 000000000..bfe4df11f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp0m0hdlfd/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp0m0hdlfd/tests", + "--output", + "/tmp/tmp0m0hdlfd/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "6cb2e8621400c18e3ed6e2821cafaa7a875c2ca4b5e1c6e4221d1874c0f06655", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp0m0hdlfd/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record(\"descriptor\")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Descriptor(test_second)\n", + "label": "construction-descriptor-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_second (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-0-class.json new file mode 100644 index 000000000..450bdac40 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpnbcvl9z3/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpnbcvl9z3/tests", + "--output", + "/tmp/tmpnbcvl9z3/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "e40deca62f5cb6acc1764dc044b6680483a4faa45d414c1ffb2c60c8f2cd4ec7", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpnbcvl9z3/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(classmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-classmethod-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-class.json new file mode 100644 index 000000000..fc01cbe4a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp9kamfhkq/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp9kamfhkq/tests", + "--output", + "/tmp/tmp9kamfhkq/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "aa83430ea562baea72a7966a78fbbe1bce2f01a9780a558f1c35dd596f62f480", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp9kamfhkq/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(classmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-classmethod-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-method.json new file mode 100644 index 000000000..7e8fe6614 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-classmethod-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpguhq478m/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpguhq478m/tests", + "--output", + "/tmp/tmpguhq478m/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "ee141eb55e2b0d957b43780a9ca62eaa74932a80956a4d6f80d8f502158854be", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpguhq478m/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(classmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-classmethod-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_second (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-0-class.json new file mode 100644 index 000000000..d78769194 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp91cjvzt5/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp91cjvzt5/tests", + "--output", + "/tmp/tmp91cjvzt5/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "2a4034af79625a7a39624d484e3dce842e5cc5316fa4ec20f09aa786c9407566", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp91cjvzt5/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(staticmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-staticmethod-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-class.json new file mode 100644 index 000000000..ebda7f21e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmprheyq4bz/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmprheyq4bz/tests", + "--output", + "/tmp/tmprheyq4bz/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "cc1f11e5205e83d282f83e59a2062a2d030239c8d0e688a2c32f835a3a4164bf", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmprheyq4bz/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(staticmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-staticmethod-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-method.json new file mode 100644 index 000000000..ab1fd2f1c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-descriptor-staticmethod-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpir1ij9bx/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpir1ij9bx/tests", + "--output", + "/tmp/tmpir1ij9bx/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "a3fdd40fcce97d4ed9dad51864e9ef1796528d0db4b382667123db6fbde8261a", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpir1ij9bx/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(staticmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-staticmethod-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_second (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-0-class.json new file mode 100644 index 000000000..978d260c8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpkea9w78k/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpkea9w78k/tests", + "--output", + "/tmp/tmpkea9w78k/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "0e1ad02999acc726c1168268f8b89aca1a26588c8cd0011abb7a0d8724ae6fc0", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpkea9w78k/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __getattribute__(self,name):\n record(\"attribute\")\n return super().__getattribute__(name)\n def test_one(self): record(\"body\")\n", + "label": "construction-getattribute-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-class.json new file mode 100644 index 000000000..906c99b7b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpadup1awh/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpadup1awh/tests", + "--output", + "/tmp/tmpadup1awh/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "9cdc57132746bceb7be7013169885fc85a396c0dc360bd6cc8d97b9ad51e0457", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpadup1awh/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __getattribute__(self,name):\n record(\"attribute\")\n return super().__getattribute__(name)\n def test_one(self): record(\"body\")\n", + "label": "construction-getattribute-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-method.json new file mode 100644 index 000000000..9d346d2c8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-getattribute-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmplig017a7/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmplig017a7/tests", + "--output", + "/tmp/tmplig017a7/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "0e7050d0728aa250a60edc3200adb3e1634e1db7483ca68e9972fc0fe6470553", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmplig017a7/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __getattribute__(self,name):\n record(\"attribute\")\n return super().__getattribute__(name)\n def test_one(self): record(\"body\")\n", + "label": "construction-getattribute-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-0-class.json new file mode 100644 index 000000000..56e5891e7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpnwvei8mj/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpnwvei8mj/tests", + "--output", + "/tmp/tmpnwvei8mj/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "46223059159dd234fd950e05f30e3aa5a70ca41cb2c5ebc4954a7541399fc8ba", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpnwvei8mj/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __init__(self,*a,**k):\n record(\"constructor\")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n", + "label": "construction-init-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-class.json new file mode 100644 index 000000000..f79168f54 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpm3pt7u11/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpm3pt7u11/tests", + "--output", + "/tmp/tmpm3pt7u11/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "1e3108b45ad3ad58be9601040311a6ab6294ece35130049f7c74a86d8ff56202", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpm3pt7u11/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __init__(self,*a,**k):\n record(\"constructor\")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n", + "label": "construction-init-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-method.json new file mode 100644 index 000000000..65a043f21 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-init-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp42a3ovun/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp42a3ovun/tests", + "--output", + "/tmp/tmp42a3ovun/receipt.json", + "--test", + "test_auditor.C.test_first" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "97b7d99b6163c7cab96420dcdab85c2c19d385c1594dd675735edb1ccac0b432", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp42a3ovun/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __init__(self,*a,**k):\n record(\"constructor\")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n", + "label": "construction-init-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_first (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-0-class.json new file mode 100644 index 000000000..2e9b47f7b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmps29_n_26/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmps29_n_26/tests", + "--output", + "/tmp/tmps29_n_26/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "224c8155586c7d827417e2ddaeca1e7d5f6501f572948a74bf265108ebbdb8ff", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmps29_n_26/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Meta(type):\n def __call__(cls,*a,**k):\n record(\"metaclass\")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record(\"body\")\n", + "label": "construction-metaclass-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-class.json new file mode 100644 index 000000000..cfaf16dae --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpiqztsvqm/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpiqztsvqm/tests", + "--output", + "/tmp/tmpiqztsvqm/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "248675e2847d75e3e4caba1148978b994c1ec47847e244abdcc6cca9c34db01d", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpiqztsvqm/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Meta(type):\n def __call__(cls,*a,**k):\n record(\"metaclass\")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record(\"body\")\n", + "label": "construction-metaclass-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-method.json new file mode 100644 index 000000000..92564fcc8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-metaclass-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp8c86_aad/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp8c86_aad/tests", + "--output", + "/tmp/tmp8c86_aad/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "9b00cfa2d825a53c46b304348429499227b356e48555feea31f319d48753f2fb", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp8c86_aad/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Meta(type):\n def __call__(cls,*a,**k):\n record(\"metaclass\")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record(\"body\")\n", + "label": "construction-metaclass-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-0-class.json new file mode 100644 index 000000000..f90ebdf7a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpzdts440n/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpzdts440n/tests", + "--output", + "/tmp/tmpzdts440n/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "aa37ad1d8d8bfab280b4db28d0f18841e01f7623fca4ed2fe46cbb13a20981ed", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpzdts440n/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record(\"constructor\")\n return super().__new__(cls)\n def test_one(self): record(\"body\")\n", + "label": "construction-new-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-class.json new file mode 100644 index 000000000..820d9b06f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmprh3sfpv1/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmprh3sfpv1/tests", + "--output", + "/tmp/tmprh3sfpv1/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "fe7d347894f1a1143f4e0bccfc24e3f4bf0ab766f383c89a354c7761453cc520", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmprh3sfpv1/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record(\"constructor\")\n return super().__new__(cls)\n def test_one(self): record(\"body\")\n", + "label": "construction-new-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-method.json new file mode 100644 index 000000000..05a0292fb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-new-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpxddunz_6/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpxddunz_6/tests", + "--output", + "/tmp/tmpxddunz_6/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "f79b0b62abc5d3a24e485ada6f855c6c98cca57429c52765639abd92a34149db", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpxddunz_6/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record(\"constructor\")\n return super().__new__(cls)\n def test_one(self): record(\"body\")\n", + "label": "construction-new-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-0-class.json new file mode 100644 index 000000000..3cc1caf6e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp9qe6ybgb/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp9qe6ybgb/tests", + "--output", + "/tmp/tmp9qe6ybgb/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "182cf8e31e75f3e4c2e451b22f54ad2505e984450d56f250245b8e755bc5f40f", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp9qe6ybgb/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __setattr__(self,name,value):\n record(\"attribute\")\n return super().__setattr__(name,value)\n def test_one(self): record(\"body\")\n", + "label": "construction-setattr-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-class.json new file mode 100644 index 000000000..279726580 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpou29sp70/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpou29sp70/tests", + "--output", + "/tmp/tmpou29sp70/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "6be844cea757aa0c97015999a26a9b8ab9be2ac3576fb6dbbf194b837f783288", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpou29sp70/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __setattr__(self,name,value):\n record(\"attribute\")\n return super().__setattr__(name,value)\n def test_one(self): record(\"body\")\n", + "label": "construction-setattr-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-method.json new file mode 100644 index 000000000..c9e268371 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-setattr-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp8y3t6f14/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp8y3t6f14/tests", + "--output", + "/tmp/tmp8y3t6f14/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "a5f851a7b524bdd8c284386b3b8a302d31963631b50ca88b1b7922f70fb0f861", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp8y3t6f14/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __setattr__(self,name,value):\n record(\"attribute\")\n return super().__setattr__(name,value)\n def test_one(self): record(\"body\")\n", + "label": "construction-setattr-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-0-class.json new file mode 100644 index 000000000..8756cd497 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpccftrp36/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpccftrp36/tests", + "--output", + "/tmp/tmpccftrp36/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "f2f11959d09ae42a4318338e2b3aa3e64287f25df12ba8f8f00f646251f0d091", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpccftrp36/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass InitDescriptor:\n def __get__(self,instance,owner):\n record(\"special-descriptor\")\n owner.__init__=unittest.TestCase.__init__\n return owner.__init__.__get__(instance,owner)\nclass C(unittest.TestCase):\n __init__=InitDescriptor()\n def test_one(self): record(\"body\")\n", + "label": "construction-special-descriptor-0-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-class.json new file mode 100644 index 000000000..c51167b53 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp2l6gqgkl/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp2l6gqgkl/tests", + "--output", + "/tmp/tmp2l6gqgkl/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "f787677975cae922fc5ee69bd3b3b6dbd16fe599c1742a883145d3843dfb1526", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp2l6gqgkl/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass InitDescriptor:\n def __get__(self,instance,owner):\n record(\"special-descriptor\")\n owner.__init__=unittest.TestCase.__init__\n return owner.__init__.__get__(instance,owner)\nclass C(unittest.TestCase):\n __init__=InitDescriptor()\n def test_one(self): record(\"body\")\n", + "label": "construction-special-descriptor-1-class", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-method.json new file mode 100644 index 000000000..4fd8d8a9c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/construction-special-descriptor-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpovqps2mx/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpovqps2mx/tests", + "--output", + "/tmp/tmpovqps2mx/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "60597016bc273214822dc794f52b84d22073a74fe2b86d87024c21e540d423b1", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpovqps2mx/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass InitDescriptor:\n def __get__(self,instance,owner):\n record(\"special-descriptor\")\n owner.__init__=unittest.TestCase.__init__\n return owner.__init__.__get__(instance,owner)\nclass C(unittest.TestCase):\n __init__=InitDescriptor()\n def test_one(self): record(\"body\")\n", + "label": "construction-special-descriptor-1-method", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/custom-run.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/custom-run.json new file mode 100644 index 000000000..7060e27b3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/custom-run.json @@ -0,0 +1,51 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmprxlwdwkh/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmprxlwdwkh/tests", + "--output", + "/tmp/tmprxlwdwkh/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "3938ddf8ae4bd47ebf4dc4e9227f6280d7d69d522e06a4dda7e3dfb3969307ab", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmprxlwdwkh/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def run(self,result=None):\n record(\"custom-run\")\n return super().run(result)\n def test_one(self): record(\"body\")\n", + "label": "custom-run", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "test_auditor.C.test_one" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/during-body-change.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/during-body-change.json new file mode 100644 index 000000000..60338a0b5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/during-body-change.json @@ -0,0 +1,67 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpl6tdfd0_/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpl6tdfd0_/tests", + "--output", + "/tmp/tmpl6tdfd0_/receipt.json" + ], + "events": [ + "first" + ], + "exit_code": 1, + "fixture_sha256": "68f30b73c556ed152c65ce04a9e24329aed87a7593b480fd69fcf999ef8cb351", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpl6tdfd0_/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self):\n record(\"first\")\n type(self).test_second=type(self).test_first\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n", + "label": "during-body-change", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_first" + ], + "body_finished_ids": [ + "test_auditor.C.test_first" + ], + "errors": 1, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_first", + "kind": "error", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_first" + ], + "invalid_population": [ + "selected class/function/code identity changed during execution", + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "test_first (test_auditor.C.test_first) ... ERROR\n\n======================================================================\nERROR: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmpl6tdfd0_/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/tmpl6tdfd0_/mutation_test.py\", line 417, in body\n require_identities(population,bindings,receipt['invalid_population'])\n File \"/tmp/tmpl6tdfd0_/mutation_test.py\", line 324, in require_identities\n raise IdentityMismatch('selected body identity changed')\nIdentityMismatch: selected body identity changed\n\nRan 1 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_first" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_first (test_auditor.C.test_first) ... ERROR\n\n======================================================================\nERROR: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmpl6tdfd0_/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/tmpl6tdfd0_/mutation_test.py\", line 417, in body\n require_identities(population,bindings,receipt['invalid_population'])\n File \"/tmp/tmpl6tdfd0_/mutation_test.py\", line 324, in require_identities\n raise IdentityMismatch('selected body identity changed')\nIdentityMismatch: selected body identity changed\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias-assertion.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias-assertion.json new file mode 100644 index 000000000..fadddf084 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias-assertion.json @@ -0,0 +1,50 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpmvff2j06/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpmvff2j06/tests", + "--output", + "/tmp/tmpmvff2j06/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "d4d5b03ab9713298486dff2a2c8d198642fc5a6b64f137b822ece324b0a48d31", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpmvff2j06/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self):\n record(\"first\")\n self.fail(\"first body assertion\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\ndef load_tests(loader, tests, pattern):\n record(\"hook\")\n C.test_second=C.test_first\n return tests\n", + "label": "hook-alias-assertion", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported module load_tests hook: test_auditor" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias.json new file mode 100644 index 000000000..2a631d896 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-alias.json @@ -0,0 +1,50 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpwf6on160/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpwf6on160/tests", + "--output", + "/tmp/tmpwf6on160/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "44d3fe4ac80593ed7286961d4370728bcd9acef2df7223157ed0b3148c5928a7", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpwf6on160/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\ndef load_tests(loader, tests, pattern):\n record(\"hook\")\n C.test_second=C.test_first\n return tests\n", + "label": "hook-alias", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported module load_tests hook: test_auditor" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-omission.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-omission.json new file mode 100644 index 000000000..6e0eee18e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-omission.json @@ -0,0 +1,50 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpou_myy8f/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpou_myy8f/tests", + "--output", + "/tmp/tmpou_myy8f/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "464b66a239fca4a9a022c8ca9fd52a32eeba3f5de7f636d27ac29334a5a9646b", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpou_myy8f/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\ndef load_tests(loader, tests, pattern):\n record(\"hook\")\n return unittest.TestSuite([C(\"test_first\")])\n", + "label": "hook-omission", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported module load_tests hook: test_auditor" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-subclass.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-subclass.json new file mode 100644 index 000000000..c3d053782 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/hook-subclass.json @@ -0,0 +1,50 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpa5qy3yxd/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpa5qy3yxd/tests", + "--output", + "/tmp/tmpa5qy3yxd/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "77a32c6bf3fadf9432a6cb2b45d88547314d7240d93c96c76182a36873f2b78e", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpa5qy3yxd/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\ndef load_tests(loader, tests, pattern):\n record(\"hook\")\n def replacement(self): record(\"replacement\")\n R=type(\"C\",(C,),{\"test_first\":replacement,\"test_second\":replacement,\"__module__\":__name__,\"__qualname__\":\"C\"})\n globals()[\"C\"]=R\n return loader.loadTestsFromTestCase(R)\n", + "label": "hook-subclass", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported module load_tests hook: test_auditor" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/instance-class-change.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/instance-class-change.json new file mode 100644 index 000000000..41a6b78af --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/instance-class-change.json @@ -0,0 +1,61 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpbvs4ynh1/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpbvs4ynh1/tests", + "--output", + "/tmp/tmpbvs4ynh1/receipt.json" + ], + "events": [ + "setup" + ], + "exit_code": 1, + "fixture_sha256": "b875d896dc47340c60640d1b0b5cb4e01f62fa9c073a6d077a30e1625bd958aa", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpbvs4ynh1/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def setUp(self):\n record(\"setup\")\n self.__class__=type(\"C\",(type(self),),{\"__module__\":__name__,\"__qualname__\":\"C\"})\n def test_one(self):\n record(\"original\")\n self.fail(\"original body retained\")\n", + "label": "instance-class-change", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 1, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_one", + "kind": "error", + "phase": "setup" + } + ], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [ + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ERROR\n\n======================================================================\nERROR: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmpbvs4ynh1/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/tmpbvs4ynh1/mutation_test.py\", line 396, in body\n require_identities(population,bindings,receipt['invalid_population'])\n File \"/tmp/tmpbvs4ynh1/mutation_test.py\", line 327, in require_identities\n raise IdentityMismatch('selected body identity changed')\nIdentityMismatch: selected body identity changed\n\nRan 1 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_one (test_auditor.C.test_one) ... ERROR\n\n======================================================================\nERROR: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmpbvs4ynh1/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/tmpbvs4ynh1/mutation_test.py\", line 396, in body\n require_identities(population,bindings,receipt['invalid_population'])\n File \"/tmp/tmpbvs4ynh1/mutation_test.py\", line 327, in require_identities\n raise IdentityMismatch('selected body identity changed')\nIdentityMismatch: selected body identity changed\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/module-dir-cannot-hide.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/module-dir-cannot-hide.json new file mode 100644 index 000000000..45cfd7899 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/module-dir-cannot-hide.json @@ -0,0 +1,76 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpbktn1lgd/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpbktn1lgd/tests", + "--output", + "/tmp/tmpbktn1lgd/receipt.json" + ], + "events": [ + "hidden", + "visible" + ], + "exit_code": 1, + "fixture_sha256": "1bb1c9417772eeb98db975333596bcd694cb90dd4aed98627fbafa2315ba3386", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpbktn1lgd/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Hidden(unittest.TestCase):\n def test_hidden(self):\n record(\"hidden\")\n self.fail(\"hidden body retained\")\nclass Visible(unittest.TestCase):\n def test_visible(self): record(\"visible\")\ndef __dir__():\n record(\"module-dir\")\n return [\"Visible\"]\n", + "label": "module-dir-cannot-hide", + "optimize": 0, + "outcome": "KILLED", + "receipt": { + "assertion_events": [ + { + "id": "test_auditor.Hidden.test_hidden", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.Hidden.test_hidden" + ], + "body_entered_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "body_finished_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.Hidden.test_hidden", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_hidden (test_auditor.Hidden.test_hidden) ... FAIL\ntest_visible (test_auditor.Visible.test_visible) ... ok\n\n======================================================================\nFAIL: test_hidden (test_auditor.Hidden.test_hidden)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmpbktn1lgd/mutation_test.py\", line 475, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: hidden body retained\n\nRan 2 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_hidden (test_auditor.Hidden.test_hidden) ... FAIL\ntest_visible (test_auditor.Visible.test_visible) ... ok\n\n======================================================================\nFAIL: test_hidden (test_auditor.Hidden.test_hidden)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmpbktn1lgd/mutation_test.py\", line 475, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: hidden body retained\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-assertion.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-assertion.json new file mode 100644 index 000000000..a4278c887 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-assertion.json @@ -0,0 +1,78 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpdp64hin8/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpdp64hin8/tests", + "--output", + "/tmp/tmpdp64hin8/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [ + "first", + "second" + ], + "exit_code": 1, + "fixture_sha256": "a851bf047d1839b1ac1332865c485faf0a79486c7e4464d9af66b5f2403ca00b", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpdp64hin8/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\"); self.fail(\"body\")\n def test_second(self): record(\"second\")\n", + "label": "named-assertion", + "optimize": 0, + "outcome": "KILLED", + "receipt": { + "assertion_events": [ + { + "id": "test_auditor.C.test_first", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_first" + ], + "body_entered_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_first", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_first (test_auditor.C.test_first) ... FAIL\ntest_second (test_auditor.C.test_second) ... ok\n\n======================================================================\nFAIL: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmpdp64hin8/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: body\n\nRan 2 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_first (test_auditor.C.test_first) ... FAIL\ntest_second (test_auditor.C.test_second) ... ok\n\n======================================================================\nFAIL: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmpdp64hin8/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: body\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-class.json new file mode 100644 index 000000000..d067ce887 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-class.json @@ -0,0 +1,65 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmppsz8wg53/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmppsz8wg53/tests", + "--output", + "/tmp/tmppsz8wg53/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [ + "first", + "second" + ], + "exit_code": 0, + "fixture_sha256": "40b6ed38dc08bec9adac06f5ad5fe973dff366a5b6dbef49ebeee841eb80b7f1", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmppsz8wg53/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self): record(\"second\")\n", + "label": "named-class", + "optimize": 0, + "outcome": "SURVIVED", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 2, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-method.json new file mode 100644 index 000000000..b9e12e9d3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/named-method.json @@ -0,0 +1,59 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpxrowb659/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpxrowb659/tests", + "--output", + "/tmp/tmpxrowb659/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "events": [ + "second" + ], + "exit_code": 0, + "fixture_sha256": "02425d806921c5c24eba2344f83a3467fa3964e162268c158f99b6bb59f7f84c", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpxrowb659/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self): record(\"second\")\n", + "label": "named-method", + "optimize": 0, + "outcome": "SURVIVED", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_second" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_second" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_second (test_auditor.C.test_second) ... ok\n\nRan 1 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_second" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_second (test_auditor.C.test_second) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-helper-descriptor.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-helper-descriptor.json new file mode 100644 index 000000000..c9fa89bc0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-helper-descriptor.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpbfdbc8i9/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpbfdbc8i9/tests", + "--output", + "/tmp/tmpbfdbc8i9/receipt.json", + "--test", + "test_auditor.C.helper" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "1023ae4ee78feca10bf19504f2d06dde727ceb38e3b2864425101e02d6d1c418", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpbfdbc8i9/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(staticmethod):\n def __get__(self,instance,owner):\n record(\"helper-descriptor\")\n return owner.test_one.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_one(self): record(\"test\")\n def helper(self):\n record(\"retained-helper\")\n self.fail(\"original helper body\")\n helper=Alias(helper)\n", + "label": "selector-helper-descriptor", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.helper (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-proxy.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-proxy.json new file mode 100644 index 000000000..a5920bf4b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-normal-fixtures/selector-proxy.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpejeu8qqd/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpejeu8qqd/tests", + "--output", + "/tmp/tmpejeu8qqd/receipt.json", + "--test", + "test_auditor.proxy.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "3286b78f72a87a9ea969da123811bbdbbb0d4937fd56b67245977d52c7c07bb7", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpejeu8qqd/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_one(self): record(\"body\")\nclass Proxy:\n def __getattr__(self,name):\n record(\"proxy\")\n return C\nproxy=Proxy()\n", + "label": "selector-proxy", + "optimize": 0, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.proxy.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/callable-factory.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/callable-factory.json new file mode 100644 index 000000000..a0b14319d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/callable-factory.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmplow1ez3l/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmplow1ez3l/tests", + "--output", + "/tmp/tmplow1ez3l/receipt.json", + "--test", + "test_auditor.factory" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "26b977a0e78b9c85e94019c828ba092ac6f6935e766c35b86ca9fc65cc186aa0", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmplow1ez3l/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_one(self): record(\"body\")\ndef factory():\n record(\"factory\")\n return unittest.TestSuite([C(\"test_one\")])\n", + "label": "callable-factory", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.factory (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-code.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-code.json new file mode 100644 index 000000000..6d605c0ef --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-code.json @@ -0,0 +1,51 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpvjkbztkd/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpvjkbztkd/tests", + "--output", + "/tmp/tmpvjkbztkd/receipt.json" + ], + "events": [ + "class-setup" + ], + "exit_code": 0, + "fixture_sha256": "00b2e166904d267adc67aaf21e2ae64f2a8b5d54ee695eea1f23f3a406d14934", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpvjkbztkd/events').open(\"a\") as out: out.write(label+\"\\n\")\ndef replacement(self): record(\"replacement\")\nclass C(unittest.TestCase):\n @classmethod\n def setUpClass(cls):\n record(\"class-setup\")\n cls.test_one.__code__=replacement.__code__\n def test_one(self):\n record(\"original\")\n self.fail(\"original body retained\")\n", + "label": "class-fixture-code", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "\nRan 0 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "\nRan 0 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-function.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-function.json new file mode 100644 index 000000000..f63699dc2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-function.json @@ -0,0 +1,51 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmphv168j4x/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmphv168j4x/tests", + "--output", + "/tmp/tmphv168j4x/receipt.json" + ], + "events": [ + "class-setup" + ], + "exit_code": 0, + "fixture_sha256": "10969d54a15c149ca2e52758eb2b94631e9cf537ef5e6d25edba5cf7b9bdbaba", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmphv168j4x/events').open(\"a\") as out: out.write(label+\"\\n\")\ndef replacement(self): record(\"replacement\")\nclass C(unittest.TestCase):\n @classmethod\n def setUpClass(cls):\n record(\"class-setup\")\n cls.test_one=replacement\n def test_one(self):\n record(\"original\")\n self.fail(\"original body retained\")\n", + "label": "class-fixture-function", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "\nRan 0 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "\nRan 0 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-same-code-function.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-same-code-function.json new file mode 100644 index 000000000..a65e63b75 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/class-fixture-same-code-function.json @@ -0,0 +1,51 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpy2x1a71k/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpy2x1a71k/tests", + "--output", + "/tmp/tmpy2x1a71k/receipt.json" + ], + "events": [ + "class-setup" + ], + "exit_code": 0, + "fixture_sha256": "947f31ff2d41b327485a6764df20b9cea26768c3f1c2d409aeb1451aa2c5e3d1", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpy2x1a71k/events').open(\"a\") as out: out.write(label+\"\\n\")\ndef replacement(self): record(\"replacement\")\nclass C(unittest.TestCase):\n @classmethod\n def setUpClass(cls):\n record(\"class-setup\")\n cls.test_one=__import__(\"types\").FunctionType(cls.test_one.__code__,cls.test_one.__globals__)\n def test_one(self):\n record(\"original\")\n self.fail(\"original body retained\")\n", + "label": "class-fixture-same-code-function", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "\nRan 0 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "\nRan 0 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-0-class.json new file mode 100644 index 000000000..9abaf915f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp4jjvvhei/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp4jjvvhei/tests", + "--output", + "/tmp/tmp4jjvvhei/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "e693eb08932b395ea3163aaadb7b9238e4d8a0b512a3ba353cd9a389d9196372", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp4jjvvhei/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record(\"descriptor\")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Descriptor(test_second)\n", + "label": "construction-descriptor-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-class.json new file mode 100644 index 000000000..11685d2f5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpsc3gqf5z/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpsc3gqf5z/tests", + "--output", + "/tmp/tmpsc3gqf5z/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "a455cf48c4c6517d390c9aa17038370222d718692876529dbc21effc575c6d1c", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpsc3gqf5z/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record(\"descriptor\")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Descriptor(test_second)\n", + "label": "construction-descriptor-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-method.json new file mode 100644 index 000000000..d8cf7ff48 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp5qech_yy/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp5qech_yy/tests", + "--output", + "/tmp/tmp5qech_yy/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "d65a08a16c39fe814336c374049e56304e03b096a01912a76c8d01761701767c", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp5qech_yy/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record(\"descriptor\")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Descriptor(test_second)\n", + "label": "construction-descriptor-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_second (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-0-class.json new file mode 100644 index 000000000..69c74a92e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpnixj6hqi/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpnixj6hqi/tests", + "--output", + "/tmp/tmpnixj6hqi/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "ae189e66aa7947d4f9d3885345f8101ba8d7feb7a9d61fc36ab91f1b1e1f44c5", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpnixj6hqi/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(classmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-classmethod-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-class.json new file mode 100644 index 000000000..46c97ed9c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmptwatn72k/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmptwatn72k/tests", + "--output", + "/tmp/tmptwatn72k/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "67e3c648785d6fc55329683507f40c4c3f515fd7c512cb290e753501b2a19acd", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmptwatn72k/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(classmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-classmethod-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-method.json new file mode 100644 index 000000000..0f8376126 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-classmethod-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp2o2g_8nt/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp2o2g_8nt/tests", + "--output", + "/tmp/tmp2o2g_8nt/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "bc249afcee9546996e594d268db8d9c5e924dd9a2255ab4a139d17afe3ea9a14", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp2o2g_8nt/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(classmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-classmethod-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_second (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-0-class.json new file mode 100644 index 000000000..204fe4ed4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpiqb07kfk/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpiqb07kfk/tests", + "--output", + "/tmp/tmpiqb07kfk/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "df6f71732ba8875f84abdab7353e40337fc0b3e2233087defddb4c13e6eefc3a", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpiqb07kfk/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(staticmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-staticmethod-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-class.json new file mode 100644 index 000000000..cfab71742 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmptoxi8tro/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmptoxi8tro/tests", + "--output", + "/tmp/tmptoxi8tro/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "9d1c227129b547385e27b186de564cf5150a22c041cb812ea8d96c33c8bddee5", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmptoxi8tro/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(staticmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-staticmethod-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-method.json new file mode 100644 index 000000000..3835bee67 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-descriptor-staticmethod-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpabibbidl/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpabibbidl/tests", + "--output", + "/tmp/tmpabibbidl/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "10ae694d7d6724d34bdb68e16be0cd136a1ab17035354e541898f55d7eccb1e7", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpabibbidl/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(staticmethod):\n def __get__(self,instance,owner):\n record(\"descriptor-subclass\")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n test_second=Alias(test_second)\n", + "label": "construction-descriptor-staticmethod-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_second (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-0-class.json new file mode 100644 index 000000000..c09069b38 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp7tyoty6f/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp7tyoty6f/tests", + "--output", + "/tmp/tmp7tyoty6f/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "495fec29e5372086e2989c551bf097a026e90ee4e295455837ce9dae0f8e2931", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp7tyoty6f/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __getattribute__(self,name):\n record(\"attribute\")\n return super().__getattribute__(name)\n def test_one(self): record(\"body\")\n", + "label": "construction-getattribute-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-class.json new file mode 100644 index 000000000..a9d766bd9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp2td2koly/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp2td2koly/tests", + "--output", + "/tmp/tmp2td2koly/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "73fcd33478b2a0e22c89e2ad91820da8862b78269ec7a7edde31aa432ce51df8", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp2td2koly/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __getattribute__(self,name):\n record(\"attribute\")\n return super().__getattribute__(name)\n def test_one(self): record(\"body\")\n", + "label": "construction-getattribute-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-method.json new file mode 100644 index 000000000..7dd9aa8da --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-getattribute-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp55s9pd_n/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp55s9pd_n/tests", + "--output", + "/tmp/tmp55s9pd_n/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "739903a5da6013bd3b09d856d66780148acbb18b1cbe4bff20015f9d19559d93", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp55s9pd_n/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __getattribute__(self,name):\n record(\"attribute\")\n return super().__getattribute__(name)\n def test_one(self): record(\"body\")\n", + "label": "construction-getattribute-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-0-class.json new file mode 100644 index 000000000..107b57af7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp8b4s8pnv/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp8b4s8pnv/tests", + "--output", + "/tmp/tmp8b4s8pnv/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "a6574ec082c119fb62f349aff6db292317384a1d25da50a739d003223393588a", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp8b4s8pnv/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __init__(self,*a,**k):\n record(\"constructor\")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n", + "label": "construction-init-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-class.json new file mode 100644 index 000000000..bca47b84d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpcgbopldc/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpcgbopldc/tests", + "--output", + "/tmp/tmpcgbopldc/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "5a7fc2a2a620e585303fb968271d66bbd36f3933e93db9eff24aed991974cca4", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpcgbopldc/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __init__(self,*a,**k):\n record(\"constructor\")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n", + "label": "construction-init-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-method.json new file mode 100644 index 000000000..ac87fa1bc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-init-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpwxdr5ybf/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpwxdr5ybf/tests", + "--output", + "/tmp/tmpwxdr5ybf/receipt.json", + "--test", + "test_auditor.C.test_first" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "007a6eaf6f5c8b43da6dbd7fe2f19da405b4ebff24ff7a9c2fe9e1097765c9e3", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpwxdr5ybf/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __init__(self,*a,**k):\n record(\"constructor\")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n", + "label": "construction-init-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_first (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-0-class.json new file mode 100644 index 000000000..47914e8e3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp9ppfg3a_/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp9ppfg3a_/tests", + "--output", + "/tmp/tmp9ppfg3a_/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "bd2c37c2dd561772de4561f0ee059af4a67b09a7c1c0bdfa61a53af8e6045208", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp9ppfg3a_/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Meta(type):\n def __call__(cls,*a,**k):\n record(\"metaclass\")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record(\"body\")\n", + "label": "construction-metaclass-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-class.json new file mode 100644 index 000000000..51fa60a76 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp0burrj52/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp0burrj52/tests", + "--output", + "/tmp/tmp0burrj52/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "7b00960ca88e283ea57265283a0e97e2bff0707969b9e987d49e9c0edc0a1db8", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp0burrj52/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Meta(type):\n def __call__(cls,*a,**k):\n record(\"metaclass\")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record(\"body\")\n", + "label": "construction-metaclass-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-method.json new file mode 100644 index 000000000..98afd9c09 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-metaclass-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp6pjz0ffr/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp6pjz0ffr/tests", + "--output", + "/tmp/tmp6pjz0ffr/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "e405f13e5bf1305ad1887e44b891206ac283523fe6e95816d1351370b8c309b1", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp6pjz0ffr/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Meta(type):\n def __call__(cls,*a,**k):\n record(\"metaclass\")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record(\"body\")\n", + "label": "construction-metaclass-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-0-class.json new file mode 100644 index 000000000..f6646fd48 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp07vtpr7j/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp07vtpr7j/tests", + "--output", + "/tmp/tmp07vtpr7j/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "eed1a8ca684040fe2a4a63ea5fc1218834840e79925b59d4fef14ecacc4f4e10", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp07vtpr7j/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record(\"constructor\")\n return super().__new__(cls)\n def test_one(self): record(\"body\")\n", + "label": "construction-new-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-class.json new file mode 100644 index 000000000..f9b9392a6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpdcxah317/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpdcxah317/tests", + "--output", + "/tmp/tmpdcxah317/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "798dfbd9f99de583333d9fbd3738e8f97f686dc46a4e976455d5b3cf040a0b29", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpdcxah317/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record(\"constructor\")\n return super().__new__(cls)\n def test_one(self): record(\"body\")\n", + "label": "construction-new-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-method.json new file mode 100644 index 000000000..895f24c38 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-new-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpu_gua3qw/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpu_gua3qw/tests", + "--output", + "/tmp/tmpu_gua3qw/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "662cd7d3c863920aff6183cc9acc74c77dbf5b73dfb1dcc93af32d0a43fa88a7", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpu_gua3qw/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record(\"constructor\")\n return super().__new__(cls)\n def test_one(self): record(\"body\")\n", + "label": "construction-new-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-0-class.json new file mode 100644 index 000000000..2a7552c92 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp9c3jx3v6/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp9c3jx3v6/tests", + "--output", + "/tmp/tmp9c3jx3v6/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "9a35b5cf58b191cfbabece415b0953bb345e498445752b4885372cd4e14dd06d", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp9c3jx3v6/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __setattr__(self,name,value):\n record(\"attribute\")\n return super().__setattr__(name,value)\n def test_one(self): record(\"body\")\n", + "label": "construction-setattr-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-class.json new file mode 100644 index 000000000..6267b092e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp7l1xq2d6/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp7l1xq2d6/tests", + "--output", + "/tmp/tmp7l1xq2d6/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "816fd8539758953766b34d4b7e4f8e9acb05f8f9e77888a4fca24ae394da4032", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp7l1xq2d6/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __setattr__(self,name,value):\n record(\"attribute\")\n return super().__setattr__(name,value)\n def test_one(self): record(\"body\")\n", + "label": "construction-setattr-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-method.json new file mode 100644 index 000000000..8b2e3c80c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-setattr-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpvukj357e/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpvukj357e/tests", + "--output", + "/tmp/tmpvukj357e/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "f764ceaa55b5c78f17efb020b260b0ecbeaeb6f26db6edcf96823daa0544029c", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpvukj357e/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def __setattr__(self,name,value):\n record(\"attribute\")\n return super().__setattr__(name,value)\n def test_one(self): record(\"body\")\n", + "label": "construction-setattr-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-0-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-0-class.json new file mode 100644 index 000000000..4f6e7575e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-0-class.json @@ -0,0 +1,47 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpepsreftl/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpepsreftl/tests", + "--output", + "/tmp/tmpepsreftl/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "0c80c0166e97d59ac92dfb6f142d8cc43365da37858c6ea2e607e5a9f4ab02d9", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpepsreftl/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass InitDescriptor:\n def __get__(self,instance,owner):\n record(\"special-descriptor\")\n owner.__init__=unittest.TestCase.__init__\n return owner.__init__.__get__(instance,owner)\nclass C(unittest.TestCase):\n __init__=InitDescriptor()\n def test_one(self): record(\"body\")\n", + "label": "construction-special-descriptor-0-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-class.json new file mode 100644 index 000000000..d0dff62b5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-class.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp65jehin4/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp65jehin4/tests", + "--output", + "/tmp/tmp65jehin4/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "2ae7f713d125ba6e2e65dde1a2d397a94242bfead364e62e54e39141fc76858f", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp65jehin4/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass InitDescriptor:\n def __get__(self,instance,owner):\n record(\"special-descriptor\")\n owner.__init__=unittest.TestCase.__init__\n return owner.__init__.__get__(instance,owner)\nclass C(unittest.TestCase):\n __init__=InitDescriptor()\n def test_one(self): record(\"body\")\n", + "label": "construction-special-descriptor-1-class", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported TestCase constructor/metaclass/attribute dispatch" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-method.json new file mode 100644 index 000000000..c1b94dda7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/construction-special-descriptor-1-method.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp6aem2x89/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp6aem2x89/tests", + "--output", + "/tmp/tmp6aem2x89/receipt.json", + "--test", + "test_auditor.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "e08c8ebbd118fb92e065a09885145c9117610509c2b4b0c77a08c0dcfe4649ec", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp6aem2x89/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass InitDescriptor:\n def __get__(self,instance,owner):\n record(\"special-descriptor\")\n owner.__init__=unittest.TestCase.__init__\n return owner.__init__.__get__(instance,owner)\nclass C(unittest.TestCase):\n __init__=InitDescriptor()\n def test_one(self): record(\"body\")\n", + "label": "construction-special-descriptor-1-method", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/custom-run.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/custom-run.json new file mode 100644 index 000000000..0a1ca5a71 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/custom-run.json @@ -0,0 +1,51 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp5f0lr5fw/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp5f0lr5fw/tests", + "--output", + "/tmp/tmp5f0lr5fw/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "88d3d77bea06246d5639d83a62b2fb367cfac42eba28e41d180289ab1893a451", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp5f0lr5fw/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def run(self,result=None):\n record(\"custom-run\")\n return super().run(result)\n def test_one(self): record(\"body\")\n", + "label": "custom-run", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "test_auditor.C.test_one" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/during-body-change.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/during-body-change.json new file mode 100644 index 000000000..0ccef9027 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/during-body-change.json @@ -0,0 +1,67 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmppa_93gr0/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmppa_93gr0/tests", + "--output", + "/tmp/tmppa_93gr0/receipt.json" + ], + "events": [ + "first" + ], + "exit_code": 1, + "fixture_sha256": "250ab9c73415b6f632031fadc912cf913070c3a8074426d28558219c3209b33c", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmppa_93gr0/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self):\n record(\"first\")\n type(self).test_second=type(self).test_first\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\n", + "label": "during-body-change", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_first" + ], + "body_finished_ids": [ + "test_auditor.C.test_first" + ], + "errors": 1, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_first", + "kind": "error", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_first" + ], + "invalid_population": [ + "selected class/function/code identity changed during execution", + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "test_first (test_auditor.C.test_first) ... ERROR\n\n======================================================================\nERROR: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmppa_93gr0/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/tmppa_93gr0/mutation_test.py\", line 417, in body\n require_identities(population,bindings,receipt['invalid_population'])\n File \"/tmp/tmppa_93gr0/mutation_test.py\", line 324, in require_identities\n raise IdentityMismatch('selected body identity changed')\nIdentityMismatch: selected body identity changed\n\nRan 1 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_first" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_first (test_auditor.C.test_first) ... ERROR\n\n======================================================================\nERROR: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmppa_93gr0/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/tmppa_93gr0/mutation_test.py\", line 417, in body\n require_identities(population,bindings,receipt['invalid_population'])\n File \"/tmp/tmppa_93gr0/mutation_test.py\", line 324, in require_identities\n raise IdentityMismatch('selected body identity changed')\nIdentityMismatch: selected body identity changed\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias-assertion.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias-assertion.json new file mode 100644 index 000000000..3008807ec --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias-assertion.json @@ -0,0 +1,50 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp58q4nyve/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp58q4nyve/tests", + "--output", + "/tmp/tmp58q4nyve/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "325b6ba2225224581e058d99708d3c2741d906540c5a20dba2e3b44830bb4494", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp58q4nyve/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self):\n record(\"first\")\n self.fail(\"first body assertion\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\ndef load_tests(loader, tests, pattern):\n record(\"hook\")\n C.test_second=C.test_first\n return tests\n", + "label": "hook-alias-assertion", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported module load_tests hook: test_auditor" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias.json new file mode 100644 index 000000000..516c1894b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-alias.json @@ -0,0 +1,50 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmphhqnk49b/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmphhqnk49b/tests", + "--output", + "/tmp/tmphhqnk49b/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "140a193bf577dd8bba24029a90ea0b9a24528628b22489e3199ccb57a22d60ec", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmphhqnk49b/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\ndef load_tests(loader, tests, pattern):\n record(\"hook\")\n C.test_second=C.test_first\n return tests\n", + "label": "hook-alias", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported module load_tests hook: test_auditor" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-omission.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-omission.json new file mode 100644 index 000000000..9080eb0f7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-omission.json @@ -0,0 +1,50 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpmd8l91i0/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpmd8l91i0/tests", + "--output", + "/tmp/tmpmd8l91i0/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "79a982a7b2537cfef48757f2049ea04fb0a0c752da1685212fd409390b7129ed", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpmd8l91i0/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\ndef load_tests(loader, tests, pattern):\n record(\"hook\")\n return unittest.TestSuite([C(\"test_first\")])\n", + "label": "hook-omission", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported module load_tests hook: test_auditor" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-subclass.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-subclass.json new file mode 100644 index 000000000..cfc5c2e60 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/hook-subclass.json @@ -0,0 +1,50 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpiqbhtx0e/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpiqbhtx0e/tests", + "--output", + "/tmp/tmpiqbhtx0e/receipt.json" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "59c0ea74cb24e691a41a4f665570570d4b793cbf6eb5b38911c7e6200868d231", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpiqbhtx0e/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self):\n record(\"second\")\n self.fail(\"retained second body\")\ndef load_tests(loader, tests, pattern):\n record(\"hook\")\n def replacement(self): record(\"replacement\")\n R=type(\"C\",(C,),{\"test_first\":replacement,\"test_second\":replacement,\"__module__\":__name__,\"__qualname__\":\"C\"})\n globals()[\"C\"]=R\n return loader.loadTestsFromTestCase(R)\n", + "label": "hook-subclass", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported module load_tests hook: test_auditor" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/instance-class-change.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/instance-class-change.json new file mode 100644 index 000000000..5d9df99ef --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/instance-class-change.json @@ -0,0 +1,61 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp05kt7sxs/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp05kt7sxs/tests", + "--output", + "/tmp/tmp05kt7sxs/receipt.json" + ], + "events": [ + "setup" + ], + "exit_code": 1, + "fixture_sha256": "c04bc2afafa7e869f0f35e55dede0b6269819cc83dd9388906604c560a6970ee", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp05kt7sxs/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def setUp(self):\n record(\"setup\")\n self.__class__=type(\"C\",(type(self),),{\"__module__\":__name__,\"__qualname__\":\"C\"})\n def test_one(self):\n record(\"original\")\n self.fail(\"original body retained\")\n", + "label": "instance-class-change", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 1, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_one", + "kind": "error", + "phase": "setup" + } + ], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [ + "selected class/function/code identity changed during execution" + ], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ERROR\n\n======================================================================\nERROR: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmp05kt7sxs/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/tmp05kt7sxs/mutation_test.py\", line 396, in body\n require_identities(population,bindings,receipt['invalid_population'])\n File \"/tmp/tmp05kt7sxs/mutation_test.py\", line 327, in require_identities\n raise IdentityMismatch('selected body identity changed')\nIdentityMismatch: selected body identity changed\n\nRan 1 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_one (test_auditor.C.test_one) ... ERROR\n\n======================================================================\nERROR: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmp05kt7sxs/mutation_test.py\", line 427, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/tmp05kt7sxs/mutation_test.py\", line 396, in body\n require_identities(population,bindings,receipt['invalid_population'])\n File \"/tmp/tmp05kt7sxs/mutation_test.py\", line 327, in require_identities\n raise IdentityMismatch('selected body identity changed')\nIdentityMismatch: selected body identity changed\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/module-dir-cannot-hide.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/module-dir-cannot-hide.json new file mode 100644 index 000000000..05ccde144 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/module-dir-cannot-hide.json @@ -0,0 +1,76 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp30z3169r/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp30z3169r/tests", + "--output", + "/tmp/tmp30z3169r/receipt.json" + ], + "events": [ + "hidden", + "visible" + ], + "exit_code": 1, + "fixture_sha256": "ca91a9ee9261e6a550bd5c27e432274dca1a7aadc1a2070c978c593ed39f198f", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp30z3169r/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Hidden(unittest.TestCase):\n def test_hidden(self):\n record(\"hidden\")\n self.fail(\"hidden body retained\")\nclass Visible(unittest.TestCase):\n def test_visible(self): record(\"visible\")\ndef __dir__():\n record(\"module-dir\")\n return [\"Visible\"]\n", + "label": "module-dir-cannot-hide", + "optimize": 1, + "outcome": "KILLED", + "receipt": { + "assertion_events": [ + { + "id": "test_auditor.Hidden.test_hidden", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.Hidden.test_hidden" + ], + "body_entered_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "body_finished_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.Hidden.test_hidden", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_hidden (test_auditor.Hidden.test_hidden) ... FAIL\ntest_visible (test_auditor.Visible.test_visible) ... ok\n\n======================================================================\nFAIL: test_hidden (test_auditor.Hidden.test_hidden)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmp30z3169r/mutation_test.py\", line 475, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: hidden body retained\n\nRan 2 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.Hidden.test_hidden", + "test_auditor.Visible.test_visible" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_hidden (test_auditor.Hidden.test_hidden) ... FAIL\ntest_visible (test_auditor.Visible.test_visible) ... ok\n\n======================================================================\nFAIL: test_hidden (test_auditor.Hidden.test_hidden)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmp30z3169r/mutation_test.py\", line 475, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: hidden body retained\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-assertion.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-assertion.json new file mode 100644 index 000000000..86b3fe2dd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-assertion.json @@ -0,0 +1,78 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmp6hfrbple/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmp6hfrbple/tests", + "--output", + "/tmp/tmp6hfrbple/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [ + "first", + "second" + ], + "exit_code": 1, + "fixture_sha256": "a166255cce446592142d8a7763b536ae0100f0123a587e3f7ae7e3f8aabae473", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmp6hfrbple/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\"); self.fail(\"body\")\n def test_second(self): record(\"second\")\n", + "label": "named-assertion", + "optimize": 1, + "outcome": "KILLED", + "receipt": { + "assertion_events": [ + { + "id": "test_auditor.C.test_first", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_first" + ], + "body_entered_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_first", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_first (test_auditor.C.test_first) ... FAIL\ntest_second (test_auditor.C.test_second) ... ok\n\n======================================================================\nFAIL: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmp6hfrbple/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: body\n\nRan 2 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_first (test_auditor.C.test_first) ... FAIL\ntest_second (test_auditor.C.test_second) ... ok\n\n======================================================================\nFAIL: test_first (test_auditor.C.test_first)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/tmp6hfrbple/mutation_test.py\", line 424, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: body\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-class.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-class.json new file mode 100644 index 000000000..7c18b35f5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-class.json @@ -0,0 +1,65 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpbpdk41xa/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpbpdk41xa/tests", + "--output", + "/tmp/tmpbpdk41xa/receipt.json", + "--test", + "test_auditor.C" + ], + "events": [ + "first", + "second" + ], + "exit_code": 0, + "fixture_sha256": "9e06958129f525020247d4b363fd450bd85d2c3f9317352e2a519faa63ff4745", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpbpdk41xa/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self): record(\"second\")\n", + "label": "named-class", + "optimize": 1, + "outcome": "SURVIVED", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 2, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-method.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-method.json new file mode 100644 index 000000000..a60211f48 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/named-method.json @@ -0,0 +1,59 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpkgm6di20/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpkgm6di20/tests", + "--output", + "/tmp/tmpkgm6di20/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "events": [ + "second" + ], + "exit_code": 0, + "fixture_sha256": "ba281f4ec1304168f4d57f067c1cb22974f23e6b1e8b294a6fb6e902e7c3fd44", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpkgm6di20/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_first(self): record(\"first\")\n def test_second(self): record(\"second\")\n", + "label": "named-method", + "optimize": 1, + "outcome": "SURVIVED", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_second" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_second" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_second (test_auditor.C.test_second) ... ok\n\nRan 1 tests\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_second" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_second" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "test_second (test_auditor.C.test_second) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-helper-descriptor.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-helper-descriptor.json new file mode 100644 index 000000000..d3d3bb1c0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-helper-descriptor.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpb21k9rk4/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpb21k9rk4/tests", + "--output", + "/tmp/tmpb21k9rk4/receipt.json", + "--test", + "test_auditor.C.helper" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "e079885d281213686189a9ba4ea7f85773e487d7b7ee9117f5c70a08af568460", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpb21k9rk4/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass Alias(staticmethod):\n def __get__(self,instance,owner):\n record(\"helper-descriptor\")\n return owner.test_one.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_one(self): record(\"test\")\n def helper(self):\n record(\"retained-helper\")\n self.fail(\"original helper body\")\n helper=Alias(helper)\n", + "label": "selector-helper-descriptor", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.C.helper (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-proxy.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-proxy.json new file mode 100644 index 000000000..aac9745da --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-optimized-fixtures/selector-proxy.json @@ -0,0 +1,49 @@ +{ + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/tmp/tmpjhae0tjv/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/tmp/tmpjhae0tjv/tests", + "--output", + "/tmp/tmpjhae0tjv/receipt.json", + "--test", + "test_auditor.proxy.C.test_one" + ], + "events": [], + "exit_code": 1, + "fixture_sha256": "015f657c99ac963ac92c220e06ad72b0d05f7e713225dbc06a075899248a0a98", + "fixture_source": "import unittest\nfrom pathlib import Path\ndef record(label):\n with Path('/tmp/tmpjhae0tjv/events').open(\"a\") as out: out.write(label+\"\\n\")\nclass C(unittest.TestCase):\n def test_one(self): record(\"body\")\nclass Proxy:\n def __getattr__(self,name):\n record(\"proxy\")\n return C\nproxy=Proxy()\n", + "label": "selector-proxy", + "optimize": 1, + "outcome": "ERROR", + "receipt": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [], + "invalid_population": [ + "unsupported test selector: test_auditor.proxy.C.test_one (ValueError)" + ], + "lifecycle_failures": 0, + "log": "Refused unsupported selected test population before execution.\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [], + "skipped": 0, + "started_ids": [], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 0, + "unexpected_successes": 0 + }, + "stderr": "", + "stdout": "Refused unsupported selected test population before execution.\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-red.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-red.json new file mode 100644 index 000000000..63e45c727 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-red.json @@ -0,0 +1,147 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population" + ], + "body_assertion_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "assertion_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "source": "direct" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "source": "direct" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 8, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 5, + "assertion_failures": 8, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... FAIL\ntest_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... \n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function') ... FAIL\n test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code') ... FAIL\ntest_identity_change_during_body_is_not_a_clean_kill (test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill) ... FAIL\ntest_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) ... \n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass') ... FAIL\n test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission') ... FAIL\ntest_named_class_and_method_selection_preserve_exact_population (test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population) ... ok\n\n======================================================================\nFAIL: test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nOK\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='function')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/tests/test_mutation_runner.py\", line 346, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'assertion_events': [{'id': 'test_auditor.C.test_one', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpde3_uj8m/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: original body retained\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}\n\n======================================================================\nFAIL: test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) (change='code')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/tests/test_mutation_runner.py\", line 346, in test_class_fixture_function_and_code_substitutions_are_refused\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nOK\\n'}\n\n======================================================================\nFAIL: test_identity_change_during_body_is_not_a_clean_kill (test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmpzqok_cn8/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: retained second body\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/tests/test_mutation_runner.py\", line 314, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nOK\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='alias-assertion')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/tests/test_mutation_runner.py\", line 314, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'assertion_events': [{'id': 'test_auditor.C.test_first', 'source': 'direct'}, {'id': 'test_auditor.C.test_second', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_first', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_second', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_first (test_auditor.C.test_first) ... FAIL\\ntest_second (test_auditor.C.test_second) ... FAIL\\n\\n======================================================================\\nFAIL: test_first (test_auditor.C.test_first)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmp7lwbwbjg/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: first body assertion\\n\\n======================================================================\\nFAIL: test_second (test_auditor.C.test_second)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/tmp7lwbwbjg/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: first body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=2)\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='subclass')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/tests/test_mutation_runner.py\", line 314, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'started_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_entered_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_finished_ids': ['test_auditor.C.test_first', 'test_auditor.C.test_second'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 2, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\ntest_second (test_auditor.C.test_second) ... ok\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nOK\\n'}\n\n======================================================================\nFAIL: test_module_alias_subclass_and_population_hooks_refused_before_execution (test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution) (shape='omission')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/grader-identity-fix/layer_a/proposed/tests/test_mutation_runner.py\", line 314, in test_module_alias_subclass_and_population_hooks_refused_before_execution\n self.assertEqual(outcome,'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_first'], 'started_ids': ['test_auditor.C.test_first'], 'finished_ids': ['test_auditor.C.test_first'], 'body_entered_ids': ['test_auditor.C.test_first'], 'body_finished_ids': ['test_auditor.C.test_first'], 'body_assertion_ids': [], 'assertion_events': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_first (test_auditor.C.test_first) ... ok\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nOK\\n'}\n\n----------------------------------------------------------------------\nRan 5 tests in 0.790s\n\nFAILED (failures=8)\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-normal.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-normal.json new file mode 100644 index 000000000..e6bd7bd48 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-normal.json @@ -0,0 +1,54 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 2, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok\ntest_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) ... ok\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-normal.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-normal.log new file mode 100644 index 000000000..ae6ec620b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-normal.log @@ -0,0 +1,4 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok +test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) ... ok + +Ran 2 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-optimized.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-optimized.json new file mode 100644 index 000000000..e6bd7bd48 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-optimized.json @@ -0,0 +1,54 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 3, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 2, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok\ntest_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) ... ok\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-optimized.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-optimized.log new file mode 100644 index 000000000..ae6ec620b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/identity-refresh-optimized.log @@ -0,0 +1,4 @@ +test_class_fixture_function_and_code_substitutions_are_refused (test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused) ... ok +test_postload_substitution_refused_before_any_fixture (test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture) ... ok + +Ran 2 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-normal.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-normal.json new file mode 100644 index 000000000..3607fa6eb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-normal.json @@ -0,0 +1,124 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 18, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-normal.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-normal.log new file mode 100644 index 000000000..c5628aef9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-normal.log @@ -0,0 +1,3 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-optimized.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-optimized.json new file mode 100644 index 000000000..3607fa6eb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-optimized.json @@ -0,0 +1,124 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "started_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_entered_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_finished_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 18, + "subtest_events": [ + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-optimized.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-optimized.log new file mode 100644 index 000000000..c5628aef9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/raw/selector-descriptor-optimized.log @@ -0,0 +1,3 @@ +test_callable_factory_selector_is_refused_before_factory_or_body (test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body) ... ok + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/RESULTS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/RESULTS.json new file mode 100644 index 000000000..8b5248e93 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/RESULTS.json @@ -0,0 +1,59 @@ +{ + "new_obligation": "Constructor aliases declared methods before existing snapshots", + "no_completed_verification_repeated": true, + "results": [ + { + "tool": "kernel_replay", + "source_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "fixture_sha256": "09e99756efd44899aa0cb96cc63ff2f7478735dbe8cab5b5c06bea03c3b2b862", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/kernel_replay/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/kernel_replay/receipt.json" + ], + "exit_code": 0, + "outcome": "SURVIVED", + "selected_ids": [ + "test_constructor.C.test_first", + "test_constructor.C.test_second" + ], + "invalid_population": [], + "body_trace": [ + "first", + "first" + ], + "receipt": "review-probes/constructor-alias/kernel_replay/receipt.json" + }, + { + "tool": "layer_a", + "source_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "fixture_sha256": "732ae96329bbe88c287ae6bf30a605c035a255487de99bda7bb116641d5b5be8", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/receipt.json" + ], + "exit_code": 0, + "outcome": "SURVIVED", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "invalid_population": [], + "body_trace": [ + "first", + "first" + ], + "receipt": "review-probes/constructor-alias/layer_a/receipt.json" + } + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/mutation_test.py new file mode 100644 index 000000000..4c716110c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/mutation_test.py @@ -0,0 +1,624 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def loadTestsFromTestCase(self,testCaseClass): + return self.remember(super().loadTestsFromTestCase(testCaseClass)) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + suites=[] + for name in dir(module): + value=getattr(module,name) + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent,current=current,getattr(current,part) + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.remember(unittest.TestSuite([parent(parts[-1])])) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/receipt.json new file mode 100644 index 000000000..01ea05e3e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/receipt.json @@ -0,0 +1,38 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "started_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_entered_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [], + "tests_run": 2, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/stdout.log new file mode 100644 index 000000000..bc5a65104 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/stdout.log @@ -0,0 +1,4 @@ +test_first (test_auditor.C.test_first) ... ok +test_second (test_auditor.C.test_second) ... ok + +Ran 2 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/tests/test_auditor.py new file mode 100644 index 000000000..e8b492328 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/tests/test_auditor.py @@ -0,0 +1,12 @@ +import unittest +from pathlib import Path +def record(label): + with Path('/workspace/cbz-0/delivery/grader-identity-fix/review-probes/constructor-alias/layer_a/trace.txt').open("a") as f: f.write(label+"\n") +class C(unittest.TestCase): + def __init__(self, methodName="runTest"): + super().__init__(methodName) + type(self).test_second=type(self).test_first + def test_first(self): record("first") + def test_second(self): + record("second") + self.fail("retained original second body") diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/trace.txt b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/trace.txt new file mode 100644 index 000000000..f8bb6daa0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/constructor-alias/trace.txt @@ -0,0 +1,2 @@ +first +first diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/RESULTS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/RESULTS.json new file mode 100644 index 000000000..ed4011b9d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/RESULTS.json @@ -0,0 +1,61 @@ +{ + "new_obligation": "Named method descriptor executes and changes declaration before ordinary-class refusal", + "no_completed_verification_repeated": true, + "results": [ + { + "tool": "kernel_replay", + "source_sha256": "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "fixture_sha256": "c49611a85b9d6a0ac3bde70143bc66c3718cec1c267d659a8c42401cc307ccd0", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/kernel_replay/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/kernel_replay/receipt.json", + "--test", + "test_descriptor.C.test_second" + ], + "exit_code": 0, + "outcome": "SURVIVED", + "selected_ids": [ + "test_descriptor.C.test_second" + ], + "invalid_population": [], + "body_trace": [ + "descriptor", + "first" + ], + "receipt": "review-probes/method-descriptor-alias/kernel_replay/receipt.json" + }, + { + "tool": "layer_a", + "source_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "fixture_sha256": "83cacd8148b1a86bdcc38c9fa678e7a393302954fecf7c2f312df22589a94fa2", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/receipt.json", + "--test", + "test_auditor.C.test_second" + ], + "exit_code": 0, + "outcome": "SURVIVED", + "selected_ids": [ + "test_auditor.C.test_second" + ], + "invalid_population": [], + "body_trace": [ + "descriptor", + "first" + ], + "receipt": "review-probes/method-descriptor-alias/layer_a/receipt.json" + } + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/mutation_test.py new file mode 100644 index 000000000..aaf380e16 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/mutation_test.py @@ -0,0 +1,672 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def ordinary_test_class(self,testCaseClass): + # Construction and attribute dispatch must not rewrite the population. + if type(testCaseClass) is not type: + return False + for name in ('__init__','__new__','__getattribute__','__setattr__','__delattr__'): + if getattr(testCaseClass,name,None) is not getattr(unittest.TestCase,name,None): + return False + for base in testCaseClass.__mro__: + if '__getattr__' in base.__dict__: + return False + for name,value in base.__dict__.items(): + if name.startswith(self.testMethodPrefix) or name=='runTest': + function=value.__func__ if isinstance(value,(staticmethod,classmethod)) else value + if not inspect.isfunction(function): + return False + return True + + def frozen_cases(self,testCaseClass,names): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + # Capture declaration identities before even standard construction. + declared={name:function_chain(getattr(testCaseClass,name,None)) for name in names} + suite=unittest.TestSuite(testCaseClass(name) for name in names) + self.remember(suite) + for test in suite_leaves(suite): + binding=self.bindings.get(id(test)) + original=declared.get(getattr(test,'_testMethodName',None)) + if binding is None or not same_function_chain(binding['declared'],original): + self.invalid.append('selected declaration changed during construction') + elif not same_function_chain(binding['instance'],original): + self.invalid.append('selected instance body changed during construction') + else: + binding['declared']=original + return suite + + def loadTestsFromTestCase(self,testCaseClass): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + names=self.getTestCaseNames(testCaseClass) + if not names and hasattr(testCaseClass,'runTest'): + names=['runTest'] + return self.frozen_cases(testCaseClass,names) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + suites=[] + for name in sorted(module.__dict__): + value=module.__dict__[name] + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent=current + if inspect.ismodule(current): + current=current.__dict__[part] + elif isinstance(current,type) and type(current) is not type: + raise ValueError('unsupported selector metaclass') + else: + current=getattr(current,part) + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.frozen_cases(parent,[parts[-1]]) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,KeyError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/receipt.json new file mode 100644 index 000000000..9807d9ecc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/receipt.json @@ -0,0 +1,33 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_second" + ], + "started_ids": [ + "test_auditor.C.test_second" + ], + "finished_ids": [ + "test_auditor.C.test_second" + ], + "body_entered_ids": [ + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_second" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_second (test_auditor.C.test_second) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/stdout.log new file mode 100644 index 000000000..cca29f0e3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/stdout.log @@ -0,0 +1,3 @@ +test_second (test_auditor.C.test_second) ... ok + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/tests/test_auditor.py new file mode 100644 index 000000000..14fc426d6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/tests/test_auditor.py @@ -0,0 +1,16 @@ +import unittest +from pathlib import Path +def record(label): + with Path('/workspace/cbz-0/delivery/grader-identity-fix/review-probes/method-descriptor-alias/layer_a/trace.txt').open("a") as f: f.write(label+"\n") +class C(unittest.TestCase): + def test_first(self): record("first") + def test_second(self): + record("second") + self.fail("retained original second body") +ORIGINAL_SECOND=C.test_second +class Rebind: + def __get__(self,instance,owner): + record("descriptor") + owner.test_second=owner.test_first + return owner.test_second +C.test_second=Rebind() diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/trace.txt b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/trace.txt new file mode 100644 index 000000000..ccfd64fd6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/method-descriptor-alias/trace.txt @@ -0,0 +1,2 @@ +descriptor +first diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/RESULTS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/RESULTS.json new file mode 100644 index 000000000..e7088ed64 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/RESULTS.json @@ -0,0 +1,55 @@ +{ + "new_obligation": "Module __dir__ omits TestCase declaration before snapshots", + "no_completed_verification_repeated": true, + "results": [ + { + "tool": "kernel_replay", + "source_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "fixture_sha256": "000f7e0f21e6895a40b759992937fa712b6de326b6d17c0522086135a9a6c533", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/kernel_replay/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/kernel_replay/receipt.json" + ], + "exit_code": 0, + "outcome": "SURVIVED", + "selected_ids": [ + "test_module_dir.Visible.test_first" + ], + "invalid_population": [], + "body_trace": [ + "first" + ], + "receipt": "review-probes/module-dir-omission/kernel_replay/receipt.json" + }, + { + "tool": "layer_a", + "source_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "fixture_sha256": "62371bcd5cd50b1c651a4076fcbe1ecd82f14cce6b848d9b2a99eb4a07ef284e", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/receipt.json" + ], + "exit_code": 0, + "outcome": "SURVIVED", + "selected_ids": [ + "test_auditor.Visible.test_first" + ], + "invalid_population": [], + "body_trace": [ + "first" + ], + "receipt": "review-probes/module-dir-omission/layer_a/receipt.json" + } + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/mutation_test.py new file mode 100644 index 000000000..4c716110c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/mutation_test.py @@ -0,0 +1,624 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def loadTestsFromTestCase(self,testCaseClass): + return self.remember(super().loadTestsFromTestCase(testCaseClass)) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + suites=[] + for name in dir(module): + value=getattr(module,name) + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent,current=current,getattr(current,part) + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.remember(unittest.TestSuite([parent(parts[-1])])) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/receipt.json new file mode 100644 index 000000000..38c427276 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/receipt.json @@ -0,0 +1,33 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.Visible.test_first" + ], + "started_ids": [ + "test_auditor.Visible.test_first" + ], + "finished_ids": [ + "test_auditor.Visible.test_first" + ], + "body_entered_ids": [ + "test_auditor.Visible.test_first" + ], + "body_finished_ids": [ + "test_auditor.Visible.test_first" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_first (test_auditor.Visible.test_first) ... ok\n\nRan 1 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/stdout.log new file mode 100644 index 000000000..3abc29a2b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/stdout.log @@ -0,0 +1,3 @@ +test_first (test_auditor.Visible.test_first) ... ok + +Ran 1 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/tests/test_auditor.py new file mode 100644 index 000000000..f9397bdc3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/tests/test_auditor.py @@ -0,0 +1,11 @@ +import unittest +from pathlib import Path +def record(label): + with Path('/workspace/cbz-0/delivery/grader-identity-fix/review-probes/module-dir-omission/layer_a/trace.txt').open("a") as f: f.write(label+"\n") +class Visible(unittest.TestCase): + def test_first(self): record("first") +class Hidden(unittest.TestCase): + def test_hidden(self): + record("hidden") + self.fail("hidden declared body retained") +def __dir__(): return ["Visible"] diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/trace.txt b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/trace.txt new file mode 100644 index 000000000..9c59e24b8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/module-dir-omission/trace.txt @@ -0,0 +1 @@ +first diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/RESULTS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/RESULTS.json new file mode 100644 index 000000000..add73f840 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/RESULTS.json @@ -0,0 +1,61 @@ +{ + "new_obligation": "Custom subclass of permitted staticmethod dispatches before freeze", + "no_completed_verification_repeated": true, + "results": [ + { + "tool": "kernel_replay", + "source_sha256": "d1783e4892e5ae406762d8917cadb8d84534fd271744fdd92a1e285a72e26739", + "fixture_sha256": "db453ae68e561d99e25d2d5e2019b293dc33a4570cc7b9fe2e9665934e02b3c6", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/kernel_replay/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/kernel_replay/receipt.json" + ], + "exit_code": 0, + "outcome": "SURVIVED", + "selected_ids": [ + "test_static_alias.C.test_first", + "test_static_alias.C.test_second" + ], + "invalid_population": [], + "body_trace": [ + "descriptor", + "first", + "first" + ], + "receipt": "review-probes/staticmethod-subclass-alias/kernel_replay/receipt.json" + }, + { + "tool": "layer_a", + "source_sha256": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "fixture_sha256": "38b8b9585b565a3f89d7506ccab34a5c56d3198ab8ef6ddf799b06d98d9633a4", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/receipt.json" + ], + "exit_code": 0, + "outcome": "SURVIVED", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "invalid_population": [], + "body_trace": [ + "descriptor", + "first", + "first" + ], + "receipt": "review-probes/staticmethod-subclass-alias/layer_a/receipt.json" + } + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/mutation_test.py new file mode 100644 index 000000000..96f2421ff --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/mutation_test.py @@ -0,0 +1,684 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def ordinary_test_class(self,testCaseClass): + # Construction and attribute dispatch must not rewrite the population. + if type(testCaseClass) is not type: + return False + for name in ('__init__','__new__','__getattribute__','__setattr__','__delattr__'): + if getattr(testCaseClass,name,None) is not getattr(unittest.TestCase,name,None): + return False + for base in testCaseClass.__mro__: + if '__getattr__' in base.__dict__: + return False + for name,value in base.__dict__.items(): + if name.startswith(self.testMethodPrefix) or name=='runTest': + function=value.__func__ if isinstance(value,(staticmethod,classmethod)) else value + if not inspect.isfunction(function): + return False + return True + + def frozen_cases(self,testCaseClass,names): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + # Capture declaration identities before even standard construction. + declared={name:function_chain(getattr(testCaseClass,name,None)) for name in names} + suite=unittest.TestSuite(testCaseClass(name) for name in names) + self.remember(suite) + for test in suite_leaves(suite): + binding=self.bindings.get(id(test)) + original=declared.get(getattr(test,'_testMethodName',None)) + if binding is None or not same_function_chain(binding['declared'],original): + self.invalid.append('selected declaration changed during construction') + elif not same_function_chain(binding['instance'],original): + self.invalid.append('selected instance body changed during construction') + else: + binding['declared']=original + return suite + + def loadTestsFromTestCase(self,testCaseClass): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + names=self.getTestCaseNames(testCaseClass) + if not names and hasattr(testCaseClass,'runTest'): + names=['runTest'] + return self.frozen_cases(testCaseClass,names) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + if type(module) is not type(sys): + self.invalid.append('unsupported module attribute dispatch') + return unittest.TestSuite() + suites=[] + for name in sorted(module.__dict__): + value=module.__dict__[name] + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent=current + if inspect.ismodule(current): + if type(current) is not type(sys): + raise ValueError('unsupported module attribute dispatch') + current=current.__dict__[part] + elif isinstance(current,type): + if type(current) is not type: + raise ValueError('unsupported selector metaclass') + if issubclass(current,unittest.TestCase) and not self.ordinary_test_class(current): + raise ValueError('unsupported TestCase declaration traversal') + declared=inspect.getattr_static(current,part) + if not (inspect.isfunction(declared) or isinstance(declared,(type,staticmethod,classmethod))): + raise ValueError('unsupported selector descriptor') + current=getattr(current,part) + else: + raise ValueError('unsupported selector object traversal') + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.frozen_cases(parent,[parts[-1]]) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,KeyError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/receipt.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/receipt.json new file mode 100644 index 000000000..01ea05e3e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/receipt.json @@ -0,0 +1,38 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "started_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_entered_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_finished_ids": [ + "test_auditor.C.test_first", + "test_auditor.C.test_second" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [], + "tests_run": 2, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_first (test_auditor.C.test_first) ... ok\ntest_second (test_auditor.C.test_second) ... ok\n\nRan 2 tests\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stderr.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stderr.log new file mode 100644 index 000000000..e69de29bb diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stdout.log b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stdout.log new file mode 100644 index 000000000..bc5a65104 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/stdout.log @@ -0,0 +1,4 @@ +test_first (test_auditor.C.test_first) ... ok +test_second (test_auditor.C.test_second) ... ok + +Ran 2 tests diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/tests/test_auditor.py new file mode 100644 index 000000000..2c9ebdca3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/tests/test_auditor.py @@ -0,0 +1,15 @@ +import unittest +from pathlib import Path +def record(label): + with Path('/workspace/cbz-0/delivery/grader-identity-fix/review-probes/staticmethod-subclass-alias/layer_a/trace.txt').open("a") as f: f.write(label+"\n") +class Alias(staticmethod): + def __get__(self,instance,owner): + record("descriptor") + owner.test_second=owner.test_first + return owner.test_first +class C(unittest.TestCase): + def test_first(self): record("first") + @Alias + def test_second(self): + record("second") + self.fail("retained original second body") diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/trace.txt b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/trace.txt new file mode 100644 index 000000000..cd3ab53a9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/review-probes/staticmethod-subclass-alias/trace.txt @@ -0,0 +1,3 @@ +descriptor +first +first diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/BASELINE_BINDINGS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/BASELINE_BINDINGS.json new file mode 100644 index 000000000..579a9d18d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/BASELINE_BINDINGS.json @@ -0,0 +1,13 @@ +{ + "layer_a/baseline/TOOLING_REGISTRY.md": "45e1cdf0074c210a969eb12735f224ed6e49082ff3747c12c897f24b4aec5526", + "layer_a/baseline/README.md": "38ef29a8d8a3bc41cd52eba41affb499c40475f76c605c019a12e8255f5ab7ea", + "layer_a/baseline/mutation_test.py": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "layer_a/baseline/SPEC.md": "f3f72bced46b1713f3c2efc5eddf5835d85670609ca71f27af49a710485cd69b", + "layer_a/baseline/tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3", + "kernel_replay/baseline/REGISTRY.json": "94fb19a0cf04443873c99d620895df9e3d0a1c9b044bdb8535cb5adec1e4d936", + "kernel_replay/baseline/mutations.py": "a1a0b0e7d6c5809c1f3f291a10aa14edc04265ce73cf76494318f966ab69b9bd", + "kernel_replay/baseline/README.md": "11d33b55820e85213708a9e429dbbffa67f9cdbe06cb7f8920ee35899b44e7ad", + "kernel_replay/baseline/SPEC.md": "bbae2e56db3bb72bf329e760c8226386894e51e5b60423b6975f3dae9e90b2c2", + "kernel_replay/baseline/run_tests.py": "f0a67f6cb3a2e0232d1cb7ff61cd7e5c21ae4c414a8c74c3a3225712b3a74ba3", + "kernel_replay/baseline/tests/test_mutation_harness.py": "05a4a2f4c803315f80a3fcb2bb16f0d5d6df19c874c118152c257544880de114" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/EXACT_DESCRIPTOR_GUARD_MUTATIONS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/EXACT_DESCRIPTOR_GUARD_MUTATIONS.json new file mode 100644 index 000000000..fa56751ea --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/EXACT_DESCRIPTOR_GUARD_MUTATIONS.json @@ -0,0 +1,318 @@ +{ + "scope": "3 exact-descriptor/static-inspection refusal safeguards per tool/mode; prior11themes remain separate", + "results": [ + { + "tool": "kernel_replay", + "mode": "normal", + "name": "allow-static-descriptor-subclasses", + "source_file": "run_tests.py", + "original_sha256": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "mutant_sha256": "e9bf166388951ffd996f6950bfd87bcee4420376ee284021780eb32c3f683acf", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "allow-named-descriptor-subclasses", + "source_file": "run_tests.py", + "original_sha256": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "mutant_sha256": "82b65607cdb27ca2476c70065373dcd22e0f2dfcf89234d9c6e7d224eb910e86", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "invoke-special-descriptor-during-profile-inspection", + "source_file": "run_tests.py", + "original_sha256": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "mutant_sha256": "6146779c1c6d6ec1f1996bec9adac1702472a55d74331fea878014d0783b1e0e", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 3, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "allow-static-descriptor-subclasses", + "source_file": "run_tests.py", + "original_sha256": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "mutant_sha256": "e9bf166388951ffd996f6950bfd87bcee4420376ee284021780eb32c3f683acf", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "allow-named-descriptor-subclasses", + "source_file": "run_tests.py", + "original_sha256": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "mutant_sha256": "82b65607cdb27ca2476c70065373dcd22e0f2dfcf89234d9c6e7d224eb910e86", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "invoke-special-descriptor-during-profile-inspection", + "source_file": "run_tests.py", + "original_sha256": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "mutant_sha256": "6146779c1c6d6ec1f1996bec9adac1702472a55d74331fea878014d0783b1e0e", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 3, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-static-descriptor-subclasses", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "ede80a1befeaf8d4390836cb1355ddf41f626cb42b930f69b44346abb2655b14", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-static-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-named-descriptor-subclasses", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "fb57ab7191d2c9e8c19619bcee0c175ccd6e310dd800810c5d74e466ca1a1545", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-named-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "invoke-special-descriptor-during-profile-inspection", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "1625d671be71084113ee84f614e498e0f69f4b440e0c669514fa20aa0d9d25e0", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 3, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/invoke-special-descriptor-during-profile-inspection/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-static-descriptor-subclasses", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "ede80a1befeaf8d4390836cb1355ddf41f626cb42b930f69b44346abb2655b14", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-static-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-named-descriptor-subclasses", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "fb57ab7191d2c9e8c19619bcee0c175ccd6e310dd800810c5d74e466ca1a1545", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-named-descriptor-subclasses/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "invoke-special-descriptor-during-profile-inspection", + "source_file": "mutation_test.py", + "original_sha256": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "mutant_sha256": "1625d671be71084113ee84f614e498e0f69f4b440e0c669514fa20aa0d9d25e0", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 3, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/invoke-special-descriptor-during-profile-inspection/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + } + ], + "all_assertion_killed": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FINAL_EXACT_RUNTIME_BINDINGS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FINAL_EXACT_RUNTIME_BINDINGS.json new file mode 100644 index 000000000..69aa25f2d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FINAL_EXACT_RUNTIME_BINDINGS.json @@ -0,0 +1,6 @@ +{ + "kernel_replay/run_tests.py": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "kernel_replay/tests/test_mutation_harness.py": "c16063e29d3e91b315120f1143ec6763608bb5ed33d90af6fa839f82ed489022", + "layer_a/mutation_test.py": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "layer_a/tests/test_mutation_runner.py": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FINAL_RUNTIME_BINDINGS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FINAL_RUNTIME_BINDINGS.json new file mode 100644 index 000000000..ad129e267 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FINAL_RUNTIME_BINDINGS.json @@ -0,0 +1,6 @@ +{ + "kernel_replay/run_tests.py": "d1783e4892e5ae406762d8917cadb8d84534fd271744fdd92a1e285a72e26739", + "kernel_replay/tests/test_mutation_harness.py": "99d0bc18609f4966e7e8a12f4731cb13fb45a23d4689467da2c3fd564ef74030", + "layer_a/mutation_test.py": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "layer_a/tests/test_mutation_runner.py": "849c787473367390fa56d8b75447bd489d18a1a308df0fd94f910dd47decc4de" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FOLLOWUP_GUARD_MUTATIONS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FOLLOWUP_GUARD_MUTATIONS.json new file mode 100644 index 000000000..50b07278a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FOLLOWUP_GUARD_MUTATIONS.json @@ -0,0 +1,214 @@ +{ + "scope": "2 new construction/module-discovery safeguards per tool/mode; prior8themes remain separate", + "results": [ + { + "tool": "kernel_replay", + "mode": "normal", + "name": "allow-custom-construction", + "source_file": "run_tests.py", + "original_sha256": "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "mutant_sha256": "239b9bb1455f063b77b6edf33c643629a386dba6f5882414645c760eb36b3bca", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 14, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/allow-custom-construction/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-custom-construction/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-custom-construction/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "allow-module-dir-population-omission", + "source_file": "run_tests.py", + "original_sha256": "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "mutant_sha256": "50ac770b50929e18b882660873cef5029802ef8e1331af724d2029cadbe5a6cd", + "test": "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/allow-module-dir-population-omission/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-module-dir-population-omission/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-module-dir-population-omission/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "allow-custom-construction", + "source_file": "run_tests.py", + "original_sha256": "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "mutant_sha256": "239b9bb1455f063b77b6edf33c643629a386dba6f5882414645c760eb36b3bca", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 14, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/allow-custom-construction/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-custom-construction/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-custom-construction/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "allow-module-dir-population-omission", + "source_file": "run_tests.py", + "original_sha256": "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "mutant_sha256": "50ac770b50929e18b882660873cef5029802ef8e1331af724d2029cadbe5a6cd", + "test": "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-module-dir-population-omission/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-custom-construction", + "source_file": "mutation_test.py", + "original_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "mutant_sha256": "5ad3ae089fbb172a81138d32ff277d02f6e2036da2cae628040f60ca976c885b", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 14, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-custom-construction/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-custom-construction/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-module-dir-population-omission", + "source_file": "mutation_test.py", + "original_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "mutant_sha256": "5fba8791484fc9cebde8083d23e7bbb76b7ba93cc67278d03b1e98649582e866", + "test": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-module-dir-population-omission/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-custom-construction", + "source_file": "mutation_test.py", + "original_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "mutant_sha256": "5ad3ae089fbb172a81138d32ff277d02f6e2036da2cae628040f60ca976c885b", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 14, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-custom-construction/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-custom-construction/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-module-dir-population-omission", + "source_file": "mutation_test.py", + "original_sha256": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "mutant_sha256": "5fba8791484fc9cebde8083d23e7bbb76b7ba93cc67278d03b1e98649582e866", + "test": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-module-dir-population-omission/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ] + } + ], + "all_assertion_killed": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FROZEN_RUNTIME_BINDINGS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FROZEN_RUNTIME_BINDINGS.json new file mode 100644 index 000000000..a72fb44a5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/FROZEN_RUNTIME_BINDINGS.json @@ -0,0 +1,6 @@ +{ + "kernel_replay/run_tests.py": "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "kernel_replay/tests/test_mutation_harness.py": "8d42a69f5b9a73705837111d59bbbe56c5f41ee84362ff1b006ea38226a37690", + "layer_a/mutation_test.py": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "layer_a/tests/test_mutation_runner.py": "708061a74bdc800addd5394f058605f4e063e172dd6933e715639a499f6c7956" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/GUARD_MUTATIONS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/GUARD_MUTATIONS.json new file mode 100644 index 000000000..8376e90f8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/GUARD_MUTATIONS.json @@ -0,0 +1,838 @@ +{ + "scope": "8 new runner identity safeguard themes per tool/mode; not production scanner/replay mutants", + "results": [ + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-module-hook-refusal", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "8142b73d6348b8786526b24fad189a7aba19dd0f321e8ae12ac3735fd6d3bc36", + "test": "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/ignore-module-hook-refusal/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-module-hook-refusal/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-module-hook-refusal/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "accept-callable-selector-factory", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "c9b312a9492ddd05d7aba67f3cfa15f889fd0aa76436f92ad188600033dc23f1", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/accept-callable-selector-factory/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/accept-callable-selector-factory/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/accept-callable-selector-factory/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-selected-class-object", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "0aa711f14ef8f822fea2773205e2ff7afdf4d34dbd93d49e88b5c4b9db5d2ce8", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/ignore-selected-class-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-selected-class-object/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-selected-class-object/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-original-function-object", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "209ff6dea5ae38e7e842612b34702bb5f86f54d59e4b53f5209e465ea4c9d63e", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/ignore-original-function-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-original-function-object/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-original-function-object/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-original-code-object", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "6b84b3db0b2164dcf775d0e165debd791ab95f41ef7835bac0d4fc72ec77f937", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/ignore-original-code-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-original-code-object/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-original-code-object/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-declared-function-chain", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "904814c32bdb60c2230f9f3d8ca25331c734537c7433a2fbe166fa12e42979e2", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 2, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/ignore-declared-function-chain/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-declared-function-chain/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/ignore-declared-function-chain/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "skip-before-fixture-identity-validation", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "384fc58ca23882fcd0ce34b28e0d4285481a5eed0bc44a05c924fd5f3cfe93cc", + "test": "test_mutation_harness.IdentityHarnessTests.test_postload_substitution_refused_before_any_fixture", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_postload_substitution_refused_before_any_fixture" + ] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "skip-runtime-identity-validation", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "0eb854056f3c5e06515566c9a82503d12410c5a5ae4533af8d31ceee2cc2e1e7", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/skip-runtime-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/skip-runtime-identity-validation/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/skip-runtime-identity-validation/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-module-hook-refusal", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "8142b73d6348b8786526b24fad189a7aba19dd0f321e8ae12ac3735fd6d3bc36", + "test": "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-module-hook-refusal/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "accept-callable-selector-factory", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "c9b312a9492ddd05d7aba67f3cfa15f889fd0aa76436f92ad188600033dc23f1", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/accept-callable-selector-factory/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/accept-callable-selector-factory/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/accept-callable-selector-factory/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-selected-class-object", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "0aa711f14ef8f822fea2773205e2ff7afdf4d34dbd93d49e88b5c4b9db5d2ce8", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/ignore-selected-class-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-selected-class-object/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-selected-class-object/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-original-function-object", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "209ff6dea5ae38e7e842612b34702bb5f86f54d59e4b53f5209e465ea4c9d63e", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/ignore-original-function-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-original-function-object/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-original-function-object/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-original-code-object", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "6b84b3db0b2164dcf775d0e165debd791ab95f41ef7835bac0d4fc72ec77f937", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/ignore-original-code-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-original-code-object/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-original-code-object/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-declared-function-chain", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "904814c32bdb60c2230f9f3d8ca25331c734537c7433a2fbe166fa12e42979e2", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 2, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/ignore-declared-function-chain/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-declared-function-chain/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/ignore-declared-function-chain/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "skip-before-fixture-identity-validation", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "384fc58ca23882fcd0ce34b28e0d4285481a5eed0bc44a05c924fd5f3cfe93cc", + "test": "test_mutation_harness.IdentityHarnessTests.test_postload_substitution_refused_before_any_fixture", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_postload_substitution_refused_before_any_fixture" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "skip-runtime-identity-validation", + "source_file": "run_tests.py", + "original_sha256": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "mutant_sha256": "0eb854056f3c5e06515566c9a82503d12410c5a5ae4533af8d31ceee2cc2e1e7", + "test": "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/skip-runtime-identity-validation/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-module-hook-refusal", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "d3c75a4a0e016689305e35efd4b0e411d70ab407c6ba848ec3f56311535b95e5", + "test": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-module-hook-refusal/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "accept-callable-selector-factory", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "15c3862ae29cb0a7c9d0428ef71b3df36b51c42f2c232e97b678c02d6ebcab2c", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/accept-callable-selector-factory/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-selected-class-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "50fb2b9807aec42ea9178932281358efd04441ed7a388df0b334708058739f74", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-selected-class-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-original-function-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "097aecc889eca40d5de5cacd5190728d4bfc64cf69b99f3b676f67f48363831e", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-original-function-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-function-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-original-code-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "f1177fa84d86dcfd6b8e2c01cfbe5ee800abef85887c0631e1f73c7912923a42", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-original-code-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-original-code-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-declared-function-chain", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "657dd39dd0bf9eafeaa962bfa34c7dcb3dbef9eb55320bc59cd0d623f20844bb", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 2, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/ignore-declared-function-chain/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "skip-before-fixture-identity-validation", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "5563a02b0532f7833fc94744004b2a18c27ec146c62f4d17f9a3e7c4a149f658", + "test": "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-before-fixture-identity-validation/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "skip-runtime-identity-validation", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "c0beceede6c771e4cd8b506f01bfb05c5cb40736f0e4765f6cfdd2527aab13f7", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/skip-runtime-identity-validation/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-module-hook-refusal", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "d3c75a4a0e016689305e35efd4b0e411d70ab407c6ba848ec3f56311535b95e5", + "test": "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-module-hook-refusal/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "accept-callable-selector-factory", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "15c3862ae29cb0a7c9d0428ef71b3df36b51c42f2c232e97b678c02d6ebcab2c", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/accept-callable-selector-factory/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-selected-class-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "50fb2b9807aec42ea9178932281358efd04441ed7a388df0b334708058739f74", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-selected-class-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-original-function-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "097aecc889eca40d5de5cacd5190728d4bfc64cf69b99f3b676f67f48363831e", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-function-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-original-code-object", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "f1177fa84d86dcfd6b8e2c01cfbe5ee800abef85887c0631e1f73c7912923a42", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-original-code-object/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-declared-function-chain", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "657dd39dd0bf9eafeaa962bfa34c7dcb3dbef9eb55320bc59cd0d623f20844bb", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 2, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/ignore-declared-function-chain/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "skip-before-fixture-identity-validation", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "5563a02b0532f7833fc94744004b2a18c27ec146c62f4d17f9a3e7c4a149f658", + "test": "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-before-fixture-identity-validation/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "skip-runtime-identity-validation", + "source_file": "mutation_test.py", + "original_sha256": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "mutant_sha256": "c0beceede6c771e4cd8b506f01bfb05c5cb40736f0e4765f6cfdd2527aab13f7", + "test": "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 4, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/skip-runtime-identity-validation/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused" + ] + } + ], + "all_assertion_killed": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/OPTIMIZATION_PROVENANCE.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/OPTIMIZATION_PROVENANCE.json new file mode 100644 index 000000000..27dd1e177 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/OPTIMIZATION_PROVENANCE.json @@ -0,0 +1,46 @@ +{ + "claim": "Source-bound invocation/environment provenance; no new process or test execution for this record", + "guard_controllers": [ + { + "stage": "initial", + "controller": "guard_mutations.py", + "sha256": "caefdde1a8e496c43cd15188e704d05ec94c91a64a6974b13e93f12f7d957d76", + "driver_sets_child_env": "env['PYTHONOPTIMIZE']='1' if mode=='optimized' else '0'", + "driver_explicit_optimized_flag": "(['-O'] if mode=='optimized' else [])", + "subprocess_receipt": "GUARD_MUTATIONS.json" + }, + { + "stage": "construction", + "controller": "guard_mutations_followup.py", + "sha256": "333684e94c36693c189e70fc5395560b001375a1ebc0038d0b6b9c1809a4498b", + "driver_sets_child_env": "env['PYTHONOPTIMIZE']='1' if mode=='optimized' else '0'", + "driver_explicit_optimized_flag": "(['-O'] if mode=='optimized' else [])", + "subprocess_receipt": "FOLLOWUP_GUARD_MUTATIONS.json" + }, + { + "stage": "selector", + "controller": "guard_mutations_selector.py", + "sha256": "b99161237ea5372440b6c2b21ce3d71e1b8e795bc3c366083a620608fc0527da", + "driver_sets_child_env": "env['PYTHONOPTIMIZE']='1' if mode=='optimized' else '0'", + "driver_explicit_optimized_flag": "(['-O'] if mode=='optimized' else [])", + "subprocess_receipt": "SELECTOR_GUARD_MUTATIONS.json" + }, + { + "stage": "exact-descriptor", + "controller": "guard_mutations_exact_descriptors.py", + "sha256": "95bd1cd9ce9a46dd43cfc198ea3231a09ba3e5a148dd27a7eb5bfe1b0b7afd7f", + "driver_sets_child_env": "env['PYTHONOPTIMIZE']='1' if mode=='optimized' else '0'", + "driver_explicit_optimized_flag": "(['-O'] if mode=='optimized' else [])", + "subprocess_receipt": "EXACT_DESCRIPTOR_GUARD_MUTATIONS.json" + } + ], + "control_mode_rule": "Optimized control launches use PYTHONOPTIMIZE=1 and -O for the outer runner. run_identity_fixture uses subprocess.run without an env override, so its -B -S child inherits PYTHONOPTIMIZE=1. Each fixture record states outer sys.flags.optimize; this is source-based inheritance evidence, not a separately instrumented child mode field.", + "actual_optimized_control_invocations": { + "kernel_replay": [ + "PYTHONOPTIMIZE=1 CBZ_IDENTITY_CONTROL_EVIDENCE=... python3 -B -S -O run_tests.py --test ... --output ..." + ], + "layer_a": [ + "PYTHONOPTIMIZE=1 CBZ_IDENTITY_CONTROL_EVIDENCE=... python3 -B -S -O mutation_test.py --internal-test-runner --test-root ... --test ... --output ..." + ] + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/SELECTOR_GUARD_MUTATIONS.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/SELECTOR_GUARD_MUTATIONS.json new file mode 100644 index 000000000..d21075c24 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/SELECTOR_GUARD_MUTATIONS.json @@ -0,0 +1,110 @@ +{ + "scope": "1 named-selector descriptor/proxy refusal safeguard per tool/mode; prior10themes remain separate", + "results": [ + { + "tool": "kernel_replay", + "mode": "normal", + "name": "allow-selector-descriptor-or-proxy-execution", + "source_file": "run_tests.py", + "original_sha256": "d1783e4892e5ae406762d8917cadb8d84534fd271744fdd92a1e285a72e26739", + "mutant_sha256": "9a7581db5795949d996b30ef389ba9a5bc50b0356272b736b372135700610ddd", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "allow-selector-descriptor-or-proxy-execution", + "source_file": "run_tests.py", + "original_sha256": "d1783e4892e5ae406762d8917cadb8d84534fd271744fdd92a1e285a72e26739", + "mutant_sha256": "9a7581db5795949d996b30ef389ba9a5bc50b0356272b736b372135700610ddd", + "test": "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "kernel_replay/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/run_tests.py", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/kernel_replay/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json", + "--test", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-selector-descriptor-or-proxy-execution", + "source_file": "mutation_test.py", + "original_sha256": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "mutant_sha256": "22138feb3737b6588118d7c625503b712491108e535d03a6372dc5517698b8dd", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/normal/allow-selector-descriptor-or-proxy-execution/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-selector-descriptor-or-proxy-execution", + "source_file": "mutation_test.py", + "original_sha256": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "mutant_sha256": "22138feb3737b6588118d7c625503b712491108e535d03a6372dc5517698b8dd", + "test": "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "outcome": "KILLED", + "exit_code": 1, + "assertion_failures": 1, + "errors": 0, + "receipt": "layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python3", + "-B", + "-S", + "-O", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/mutation_test.py", + "--internal-test-runner", + "--test-root", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/tests", + "--output", + "/workspace/cbz-0/delivery/grader-identity-fix/layer_a/evidence/guard-mutants/optimized/allow-selector-descriptor-or-proxy-execution/receipt.json", + "--test", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ] + } + ], + "all_assertion_killed": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/evidence-binding-review-final.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/evidence-binding-review-final.json new file mode 100644 index 000000000..f98731763 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/evidence-binding-review-final.json @@ -0,0 +1,252 @@ +{ + "status": "CLEAR", + "scope": "Read-only saved evidence and AST/source bindings; no tests, runner code, scanner, Lean or GitHub mutations executed", + "final_runtime_bindings": { + "kernel_replay/run_tests.py": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "kernel_replay/tests/test_mutation_harness.py": "c16063e29d3e91b315120f1143ec6763608bb5ed33d90af6fa839f82ed489022", + "layer_a/mutation_test.py": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "layer_a/tests/test_mutation_runner.py": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866" + }, + "new_guard_records": 12, + "new_guard_groups": { + "kernel_replay/normal": 3, + "kernel_replay/optimized": 3, + "layer_a/normal": 3, + "layer_a/optimized": 3 + }, + "guards": [ + { + "tool": "kernel_replay", + "mode": "normal", + "name": "allow-static-descriptor-subclasses", + "receipt_sha256": "dacc27276045f70447f6c4031cca240b1a1c091e8c3f0c17a879a1bb1689ee86", + "mutant_sha256": "e9bf166388951ffd996f6950bfd87bcee4420376ee284021780eb32c3f683acf", + "stdout_sha256": "0e4ce00f228c0ddd70d1228469d0252b502ab1c02b5866ee2562449053f9fa55", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "allow-named-descriptor-subclasses", + "receipt_sha256": "257d42e9dfebc157d85648819e198e709c52bc5da95352778a1736df161e54f7", + "mutant_sha256": "82b65607cdb27ca2476c70065373dcd22e0f2dfcf89234d9c6e7d224eb910e86", + "stdout_sha256": "cdb58d50e19cd4c113d9471bcde70684cfad3a6e2e0f1cbd4c4b4820adb7113d", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "invoke-special-descriptor-during-profile-inspection", + "receipt_sha256": "13c88c8a2be257315a5d0eeefbb8203d2c785d96032f26ed9ace6a4910db6064", + "mutant_sha256": "6146779c1c6d6ec1f1996bec9adac1702472a55d74331fea878014d0783b1e0e", + "stdout_sha256": "64943c1cf2287c26b9e46c838cf887a38e3a6164e3aa1b1ac7c9808c047b8133", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "allow-static-descriptor-subclasses", + "receipt_sha256": "70863c355a543fbcae70db28d3dec3c880b5362d2c819ada85908770e1c974cd", + "mutant_sha256": "e9bf166388951ffd996f6950bfd87bcee4420376ee284021780eb32c3f683acf", + "stdout_sha256": "fcadb6913cdb9ee6347633157df98faa8813196e5d07575e2c11420809af981d", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "allow-named-descriptor-subclasses", + "receipt_sha256": "5dcd1dd848214054f34d3abafdcc889a8affb171239590d593a60088fd4d6c82", + "mutant_sha256": "82b65607cdb27ca2476c70065373dcd22e0f2dfcf89234d9c6e7d224eb910e86", + "stdout_sha256": "32d182607d4798e7ee4fc6467af278446bf57ae5e2bcf83f0863b19d7f3a8aff", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "invoke-special-descriptor-during-profile-inspection", + "receipt_sha256": "ad124dd4a4d92d75633edf8cec56843779d60e1537c5524d63be033fdf8f0f65", + "mutant_sha256": "6146779c1c6d6ec1f1996bec9adac1702472a55d74331fea878014d0783b1e0e", + "stdout_sha256": "445cb37e5df70fa30d7313c8a66a51aab7c52705a0144a01175cd3e3decb4b48", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-static-descriptor-subclasses", + "receipt_sha256": "f28545912be951e689daf784c6dcea14af32956523e8f50ea211310df7b8f1e9", + "mutant_sha256": "ede80a1befeaf8d4390836cb1355ddf41f626cb42b930f69b44346abb2655b14", + "stdout_sha256": "3aae99517742cc9bb25837f59f624e0be7d1818aa10e285df19ddc15cf541347", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "allow-named-descriptor-subclasses", + "receipt_sha256": "8fb296c76a2a74db157771d31a1e56362b079d1bb1bfc981380a9a5e03ff1bea", + "mutant_sha256": "fb57ab7191d2c9e8c19619bcee0c175ccd6e310dd800810c5d74e466ca1a1545", + "stdout_sha256": "c33daa05a2d9aeeea38bb78160afcadb97a56a8ecad784c1439518c06e3d7566", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "invoke-special-descriptor-during-profile-inspection", + "receipt_sha256": "9bcd76726a5c1a2c5ce92b2315d3aa5d7b160b274e87b2facc8ab785f4c4101e", + "mutant_sha256": "1625d671be71084113ee84f614e498e0f69f4b440e0c669514fa20aa0d9d25e0", + "stdout_sha256": "b9bc6e17bbf9f330b77d512247e67529081b60c770045c6a5fa06f334a7edfa8", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-static-descriptor-subclasses", + "receipt_sha256": "6bd610fd832daf45a9d69870ff62f51a0fb174d057675b3f5bd2df7a8499c860", + "mutant_sha256": "ede80a1befeaf8d4390836cb1355ddf41f626cb42b930f69b44346abb2655b14", + "stdout_sha256": "d1e7937d55ccfab67f8f18219c3af5fa75526ab326094e1fbddc07af0f0bff26", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "allow-named-descriptor-subclasses", + "receipt_sha256": "80e1a55c4b1832e4b1b2e3f8bcf52ef2fd4649c90476bae9e706e5dd178c0c15", + "mutant_sha256": "fb57ab7191d2c9e8c19619bcee0c175ccd6e310dd800810c5d74e466ca1a1545", + "stdout_sha256": "140cc0a2a7fc415fdf1e374d27fc239cf87f45d5a7ac433f92fa8f0ce000ad09", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "invoke-special-descriptor-during-profile-inspection", + "receipt_sha256": "b7d9c8d9134e431e1a469396457924e4e1e0bce77603e0185ea9d93aeefcb503", + "mutant_sha256": "1625d671be71084113ee84f614e498e0f69f4b440e0c669514fa20aa0d9d25e0", + "stdout_sha256": "32aac4525911039afc5a12ba8223f298f96add9da0ef20f2aaed3bd1c666bccd", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + } + ], + "expanded_method_green_receipts": [ + { + "tool": "kernel_replay", + "mode": "normal", + "path": "kernel_replay/evidence/exact-descriptor-normal.json", + "sha256": "670b9c7966deb56347a6313f175055a3467eea95a5ee36bc36c7c729d104aa19", + "tests_run": 1, + "selected_ids": [ + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "pass": true + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "path": "kernel_replay/evidence/exact-descriptor-optimized.json", + "sha256": "670b9c7966deb56347a6313f175055a3467eea95a5ee36bc36c7c729d104aa19", + "tests_run": 1, + "selected_ids": [ + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "pass": true + }, + { + "tool": "layer_a", + "mode": "normal", + "path": "layer_a/evidence/exact-descriptor-normal.json", + "sha256": "b9e916aa036ab7c96bf44974b9e658cffef362f5037d36cf6718e261495a2a08", + "tests_run": 1, + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "pass": true + }, + { + "tool": "layer_a", + "mode": "optimized", + "path": "layer_a/evidence/exact-descriptor-optimized.json", + "sha256": "b9e916aa036ab7c96bf44974b9e658cffef362f5037d36cf6718e261495a2a08", + "tests_run": 1, + "selected_ids": [ + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body" + ], + "pass": true + } + ], + "method_partition": [ + { + "tool": "kernel_replay", + "earlier_test_source_sha256": "da9bb463c0675be7729067c8a46e55b5171293c15be598c5e891051818c49850", + "final_test_source_sha256": "c16063e29d3e91b315120f1143ec6763608bb5ed33d90af6fa839f82ed489022", + "method_count": 27, + "unchanged_method_count": 25, + "changed_methods": [ + "IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body", + "IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "added": [], + "removed": [], + "expected_two_expansions_only": true + }, + { + "tool": "layer_a", + "earlier_test_source_sha256": "4e33dcb77a0f897976462e8c10b46de65bc2eeddba8d2b0f3604f3b3832f2b19", + "final_test_source_sha256": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866", + "method_count": 22, + "unchanged_method_count": 20, + "changed_methods": [ + "IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body", + "IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution" + ], + "added": [], + "removed": [], + "expected_two_expansions_only": true + } + ], + "historical_guard_evidence": [ + { + "path": "GUARD_MUTATIONS.json", + "sha256": "6b1aec98f57510cd79545105bf76f8a8ce7c13fd093e766f8c73e2c4c0c90e47", + "records": 32, + "bound_generations": [ + "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5" + ], + "all_reported_assertion_kills": true, + "status": "Preserved generation-bound evidence; not relabeled as final-source executions" + }, + { + "path": "FOLLOWUP_GUARD_MUTATIONS.json", + "sha256": "98d94d858a285800aa80a8348661820c81152e6d0afdeae75a662e152704f43d", + "records": 8, + "bound_generations": [ + "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822" + ], + "all_reported_assertion_kills": true, + "status": "Preserved generation-bound evidence; not relabeled as final-source executions" + }, + { + "path": "SELECTOR_GUARD_MUTATIONS.json", + "sha256": "b6442e84be54f748ea79229c1ea37bb69d9de87331cd182835717710de0ab789", + "records": 4, + "bound_generations": [ + "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "d1783e4892e5ae406762d8917cadb8d84534fd271744fdd92a1e285a72e26739" + ], + "all_reported_assertion_kills": true, + "status": "Preserved generation-bound evidence; not relabeled as final-source executions" + } + ], + "prior_review": "evidence-binding-review.json applies to original32guard campaign and 27/19 method composition at its own generation; retained unchanged", + "issues": [] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/evidence-binding-review.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/evidence-binding-review.json new file mode 100644 index 000000000..50b922420 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/evidence-binding-review.json @@ -0,0 +1,546 @@ +{ + "scope": "Saved evidence/source-binding review only; no tests or source execution", + "guard_records": 32, + "group_counts": { + "kernel_replay/normal": 8, + "kernel_replay/optimized": 8, + "layer_a/normal": 8, + "layer_a/optimized": 8 + }, + "all_assertion_kills": true, + "guard_binding_issues": [], + "guards": [ + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-module-hook-refusal", + "source_matches": true, + "receipt_sha256": "82d9d9508e3cee208451ea30117a80859059acc544e0d45994cc607207fbf4e0", + "stdout_sha256": "131cd115c6f7276371fcae16b569695615ebbc09acb44004f6d49da14791b57b", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "accept-callable-selector-factory", + "source_matches": true, + "receipt_sha256": "baba96a43a9dcf624751479fc879661adfa617335a3ccdd98836a5a337e76b19", + "stdout_sha256": "a4f61543cf899a8dfdff8aa239fc7d040323705951a89520afe425d9160048d5", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-selected-class-object", + "source_matches": true, + "receipt_sha256": "9368effe87b7026ee56326ac2bfbb02fb3846dcfaa30c46c9edc8f9eea671af2", + "stdout_sha256": "0fca7743d1528fd0caeff923e3bd66d212e8faed96cce674084858e21cbbe6e8", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-original-function-object", + "source_matches": true, + "receipt_sha256": "677b9414a3d5f79761dbe0c534bacae97a1a5560599fe0a95b24ce0aedf2203c", + "stdout_sha256": "ba675913565db0ab300e877f4a68d86095e93bbb4ae4a506f6c21cd5cc9cf05a", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-original-code-object", + "source_matches": true, + "receipt_sha256": "6ba4cd787c000c83398716f4ab10780934bff389a904826e9785076d12e9a2b2", + "stdout_sha256": "c06c22298a93324ef57ef5ec01306f4a95f0aee48c20c72f4b13501e82c1f0a6", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "ignore-declared-function-chain", + "source_matches": true, + "receipt_sha256": "4c797eff30d6ec75211fe5dd9ac8724201d4eb1c323778208901774b295d74e1", + "stdout_sha256": "2dc5e52a36522ba885f03b3fa2bbc4e0b249721e63b21def01f675631a618fb1", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "skip-before-fixture-identity-validation", + "source_matches": true, + "receipt_sha256": "764e27b223102f80c2f4205274f8e8497e223b34ab22671eaf9672a0ab07107d", + "stdout_sha256": "8083dbdad1524a319d74f7f962438a1b872022cbef57c055e89bf17bee07ef9c", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "normal", + "name": "skip-runtime-identity-validation", + "source_matches": true, + "receipt_sha256": "3b5c89b611116d109077f4dbc355f35f2474206e7857cac415c899573ff67577", + "stdout_sha256": "ab0a256a565772334158862c880ed6eb2c4fd3e477a722ebe0e29c638f1aa27d", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-module-hook-refusal", + "source_matches": true, + "receipt_sha256": "d57ddd5fd4a058f008282ceaa3d13ca3ed9b78f27f40b39bcee2cd197876db0c", + "stdout_sha256": "31d647dcc331324b7acab5600088c237444f119d562ea8bff537f68599b660e6", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "accept-callable-selector-factory", + "source_matches": true, + "receipt_sha256": "b3bd6e635e5808da0275afa316d76bf82ffdbc99ab45d6e747c81c997a5e76a8", + "stdout_sha256": "ffdcec1225452ec36f4367fd6689162604ac819b0eee542d103c57a2311dc38d", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-selected-class-object", + "source_matches": true, + "receipt_sha256": "51ddf2022fddca741c937eba1b54370efbac5aa0a39db82785f79c88dd3d61e6", + "stdout_sha256": "a21ef10e371c89af08b3b0fac8d4e0ff4ea36fcea557a6a69fda210e2225a79d", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-original-function-object", + "source_matches": true, + "receipt_sha256": "e009453bc240aa4830374a0fc35353162eb21da5523a3f0ca9df7cd882abee16", + "stdout_sha256": "8ceac458094bf4a89b9d1169c25f2b54b7ed9038903a630ac9dfeaff256c6894", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-original-code-object", + "source_matches": true, + "receipt_sha256": "934289850dce49d3106fc172b98ed35a901f506da3c46955bfc9e753e6f56bb2", + "stdout_sha256": "6342af0480511f4d6201f5861a444a4b986778645b4cfbbe1de7e0b842b4ce04", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "ignore-declared-function-chain", + "source_matches": true, + "receipt_sha256": "8302b411e1d3d74371df57720be55a7aece8ed96595255c37273de9d959bd42c", + "stdout_sha256": "393ee57739b21a4ffce0476c5aeb842646e71e13a4e6cf52a03f102d1acc76f8", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "skip-before-fixture-identity-validation", + "source_matches": true, + "receipt_sha256": "e4288ddf0d8d153e013de44a785fd07caf32556257f6eeefc85391c6ddf4c1e6", + "stdout_sha256": "e23b918b83fa66490ea9c70fc0e08c0572ffbdbc4f88264f7f7399f02c7a2c83", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "kernel_replay", + "mode": "optimized", + "name": "skip-runtime-identity-validation", + "source_matches": true, + "receipt_sha256": "66eb45a3af0f0b21e3af533dbaebd31d66af938f4509d56b7752720a04ff3dca", + "stdout_sha256": "610f634f0f4f2aa74dc7290e412f7b82c22373560c5a00aea593ee122231e47e", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-module-hook-refusal", + "source_matches": true, + "receipt_sha256": "1fcdcec589357c9698002816c9a2cc2da7ef89e9bec3c3fcc77d072d871b4ba6", + "stdout_sha256": "10c4a74f1879280a183048df3769c22da4bf0b44d00a0b4c5362b47fa3348974", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "accept-callable-selector-factory", + "source_matches": true, + "receipt_sha256": "95f38caf779339f0df5144950fbd8ebb3db1cbe830dd4b340966a63164131bd1", + "stdout_sha256": "33c243b3f417b51b4e543cadb5adcffc374e144da7663a2a3708031366196775", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-selected-class-object", + "source_matches": true, + "receipt_sha256": "daea778ff8a281508b831197629c86b49afddc9a9a97b67652e295479d4a2437", + "stdout_sha256": "884434c0d991ede0e8063200abba1739645a6539f64fe8dacd3411c0d7c0fc48", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-original-function-object", + "source_matches": true, + "receipt_sha256": "d5ec3c04816ec3b503b76ca183ffec2abfdfe5a5667bd5385b5a7c682fa77776", + "stdout_sha256": "f2fbc257aa08c8e15112265ece739fa256c5f1e684543fedcbc09c956526f39f", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-original-code-object", + "source_matches": true, + "receipt_sha256": "1e732c2804b4c5b170e6145c0b96b401f9acf187dda6276bbf542ec9c68c3ca6", + "stdout_sha256": "e18c136278aef1621300591f38faeda9c0355457492a68bd160e9cebc2c6f6a1", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "ignore-declared-function-chain", + "source_matches": true, + "receipt_sha256": "05a8e9981eb5531b00fb239eb95ef99dd0ae6f98257d8b238904665053f77e07", + "stdout_sha256": "bb4c88de0ed2ae924daadd6305b6b89589d202efd7990829cf97d6170e805908", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "skip-before-fixture-identity-validation", + "source_matches": true, + "receipt_sha256": "891158d4327bcdc26d56c30bd6b513a8c53554d8d9663600f38dee454893ab33", + "stdout_sha256": "2b6711f7cdd53ee3ac9f678334e9ea0a7bb986fff5db6457adfb77f53b92de23", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "normal", + "name": "skip-runtime-identity-validation", + "source_matches": true, + "receipt_sha256": "77a2dfd576779a82b72e555ca362d634c4489e4142f7af7e9b7ddae147133fb1", + "stdout_sha256": "fdece6b874654dbc2db2f62990a9d5095a722d112a701784a3b067aad6db9127", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-module-hook-refusal", + "source_matches": true, + "receipt_sha256": "acc0ba6b8c760d73a5c4455a61f5345bc9c87d4f859de5dc39f6ceccd3a39a74", + "stdout_sha256": "59aaad6c18be71d742a8d28887402d67d0471e5b622a65509ed91abd66c4f52a", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "accept-callable-selector-factory", + "source_matches": true, + "receipt_sha256": "f9894757e336fd605f9f096635a4dd84e4e9c31f793adde6f6c80d388ad65dc5", + "stdout_sha256": "5d7da0bd3a60b3302398bdc4b8d5eb96348ddd78377635acf3ce2e781a5c2f0c", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-selected-class-object", + "source_matches": true, + "receipt_sha256": "d5049184078f8d9ebe83a36029688e186f303a66e1e6807f6828b47485a33470", + "stdout_sha256": "6987a74bf9ea756fcdaf36278325855b3dae0500a173e31fd528e3a21ea55327", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-original-function-object", + "source_matches": true, + "receipt_sha256": "f3f82222d60248f95cd9902f05bec1948f878f4d38dd2732ac73042a44e6219b", + "stdout_sha256": "012ddee87c272f33e54eca3222781cd5905b92ede14ca026df194ac1df2d7dd5", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-original-code-object", + "source_matches": true, + "receipt_sha256": "bb5a76e0d130e5c30c9c6103ad15cad420a0d3b87a5a4ee582af335b76bb81c8", + "stdout_sha256": "678e86c135c1f105c3734a8895c3903c131720a4371805deed1a914d90061afb", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "ignore-declared-function-chain", + "source_matches": true, + "receipt_sha256": "8cb24652959e3f72923cddca041caa2b4ceee7243e8a42c7f4ac55d76dd7f508", + "stdout_sha256": "ffa5c35c6397d2bb7a6b94ed86557075793c914fa138536c0a29d46302a7f3ba", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "skip-before-fixture-identity-validation", + "source_matches": true, + "receipt_sha256": "88676906a3284c2eba755067453b4ff764488c4d0869d467c04324631e52e68e", + "stdout_sha256": "178195cfb98f52d296c6baa95898a98f47b41c3403b8c1b3154627b9999b332b", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + }, + { + "tool": "layer_a", + "mode": "optimized", + "name": "skip-runtime-identity-validation", + "source_matches": true, + "receipt_sha256": "7fccce4dc941be0b6c16db7bfdc6ff9611b42fa5d5761b0ec4fd94476224afe1", + "stdout_sha256": "ab135043b118837bf905b6df39bbd2e050f0a7c0a6b7bd07e51f619342af82fb", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "issues": [] + } + ], + "composed_methods": { + "kernel_replay/normal": { + "distinct_methods": 27, + "all_latest_method_observations_pass": true, + "runs": [ + { + "path": "kernel_replay/evidence/affected-normal-dev2.json", + "sha256": "ef08c5c93359f1337011243c26307dbd975ac6a996a73a25f6cac9d7afaf7096", + "selected_count": 26, + "tests_run": 26, + "failures": 0, + "errors": 0, + "successful": true + }, + { + "path": "kernel_replay/evidence/identity-refresh-normal.json", + "sha256": "3ba00e79be0fbee01f828085670ba7db19d1b6c737ad9e3cfd2f41690c921a7e", + "selected_count": 2, + "tests_run": 2, + "failures": 0, + "errors": 0, + "successful": true + } + ], + "methods": { + "test_mutation_harness.MutationHarnessTests.test_body_assertion_kills_after_all_selected_bodies_finish": "PASS", + "test_mutation_harness.MutationHarnessTests.test_body_scoped_subtest_assertions_kill_without_changing_parent_population": "PASS", + "test_mutation_harness.MutationHarnessTests.test_clean_identity_survives": "PASS", + "test_mutation_harness.MutationHarnessTests.test_dispatch_hook_assertion_without_selected_method_is_error": "PASS", + "test_mutation_harness.MutationHarnessTests.test_empty_duplicate_synthetic_and_spoofed_population_is_error": "PASS", + "test_mutation_harness.MutationHarnessTests.test_errors_skips_and_expected_failures_are_errors": "PASS", + "test_mutation_harness.MutationHarnessTests.test_foreign_subtest_parent_cannot_claim_selected_body_assertion": "PASS", + "test_mutation_harness.MutationHarnessTests.test_forged_or_missing_accounting_is_error": "PASS", + "test_mutation_harness.MutationHarnessTests.test_lifecycle_failures_never_kill_even_with_body_assertion": "PASS", + "test_mutation_harness.MutationHarnessTests.test_lifecycle_subtests_and_subtest_errors_are_errors": "PASS", + "test_mutation_harness.MutationHarnessTests.test_population_listing_does_not_execute_fixtures_or_bodies": "PASS", + "test_mutation_harness.MutationHarnessTests.test_selected_method_invoked_from_lifecycle_is_error": "PASS", + "test_mutation_harness.MutationHarnessTests.test_setup_assertion_is_not_a_kill": "PASS", + "test_mutation_harness.MutationHarnessTests.test_summary_without_lifecycle_receipt_fails_closed": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_all_non_none_returns_refuse_without_iterating_custom_objects": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_declared_lazy_method_shapes_refuse_mixed_population_before_execution": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_decorator_without_wrapped_metadata_cannot_hide_lazy_return": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_ordinary_synchronous_body_positives_remain_supported": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_sync_lazy_returns_refuse_without_advancing_suspended_work": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_wrapped_lazy_method_shapes_refuse_before_execution": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_custom_testcase_run_is_refused_before_execution": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_identity_change_during_body_is_not_a_clean_kill": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_named_class_and_method_selection_preserve_exact_population": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_postload_substitution_refused_before_any_fixture": "PASS" + } + }, + "kernel_replay/optimized": { + "distinct_methods": 27, + "all_latest_method_observations_pass": true, + "runs": [ + { + "path": "kernel_replay/evidence/affected-optimized.json", + "sha256": "ef08c5c93359f1337011243c26307dbd975ac6a996a73a25f6cac9d7afaf7096", + "selected_count": 26, + "tests_run": 26, + "failures": 0, + "errors": 0, + "successful": true + }, + { + "path": "kernel_replay/evidence/identity-refresh-optimized.json", + "sha256": "3ba00e79be0fbee01f828085670ba7db19d1b6c737ad9e3cfd2f41690c921a7e", + "selected_count": 2, + "tests_run": 2, + "failures": 0, + "errors": 0, + "successful": true + } + ], + "methods": { + "test_mutation_harness.MutationHarnessTests.test_body_assertion_kills_after_all_selected_bodies_finish": "PASS", + "test_mutation_harness.MutationHarnessTests.test_body_scoped_subtest_assertions_kill_without_changing_parent_population": "PASS", + "test_mutation_harness.MutationHarnessTests.test_clean_identity_survives": "PASS", + "test_mutation_harness.MutationHarnessTests.test_dispatch_hook_assertion_without_selected_method_is_error": "PASS", + "test_mutation_harness.MutationHarnessTests.test_empty_duplicate_synthetic_and_spoofed_population_is_error": "PASS", + "test_mutation_harness.MutationHarnessTests.test_errors_skips_and_expected_failures_are_errors": "PASS", + "test_mutation_harness.MutationHarnessTests.test_foreign_subtest_parent_cannot_claim_selected_body_assertion": "PASS", + "test_mutation_harness.MutationHarnessTests.test_forged_or_missing_accounting_is_error": "PASS", + "test_mutation_harness.MutationHarnessTests.test_lifecycle_failures_never_kill_even_with_body_assertion": "PASS", + "test_mutation_harness.MutationHarnessTests.test_lifecycle_subtests_and_subtest_errors_are_errors": "PASS", + "test_mutation_harness.MutationHarnessTests.test_population_listing_does_not_execute_fixtures_or_bodies": "PASS", + "test_mutation_harness.MutationHarnessTests.test_selected_method_invoked_from_lifecycle_is_error": "PASS", + "test_mutation_harness.MutationHarnessTests.test_setup_assertion_is_not_a_kill": "PASS", + "test_mutation_harness.MutationHarnessTests.test_summary_without_lifecycle_receipt_fails_closed": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_all_non_none_returns_refuse_without_iterating_custom_objects": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_declared_lazy_method_shapes_refuse_mixed_population_before_execution": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_decorator_without_wrapped_metadata_cannot_hide_lazy_return": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_ordinary_synchronous_body_positives_remain_supported": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_sync_lazy_returns_refuse_without_advancing_suspended_work": "PASS", + "test_mutation_harness.LazyBodyHarnessTests.test_wrapped_lazy_method_shapes_refuse_before_execution": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_callable_factory_selector_is_refused_before_factory_or_body": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_class_fixture_function_and_code_substitutions_are_refused": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_custom_testcase_run_is_refused_before_execution": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_identity_change_during_body_is_not_a_clean_kill": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_module_alias_subclass_and_population_hooks_refused_before_execution": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_named_class_and_method_selection_preserve_exact_population": "PASS", + "test_mutation_harness.IdentityHarnessTests.test_postload_substitution_refused_before_any_fixture": "PASS" + } + }, + "layer_a/normal": { + "distinct_methods": 19, + "all_latest_method_observations_pass": true, + "runs": [ + { + "path": "layer_a/evidence/affected-normal-dev2.json", + "sha256": "e6be88aa5ae13bb357a411e1bea72766e8bea06a9145a5c6e2480d397762cea6", + "selected_count": 18, + "tests_run": 18, + "failures": 1, + "errors": 0, + "successful": false + }, + { + "path": "layer_a/evidence/canonical-population-normal.json", + "sha256": "c72ad83604addc0eea4a4894754729f0ffafa305e70c3b72ff4de55014c6a416", + "selected_count": 1, + "tests_run": 1, + "failures": 0, + "errors": 0, + "successful": true + }, + { + "path": "layer_a/evidence/identity-refresh-normal.json", + "sha256": "d0ebe8680885cc7ec059046e3b5c63a1f1b49a1a48af313251baf81bf10ab471", + "selected_count": 2, + "tests_run": 2, + "failures": 0, + "errors": 0, + "successful": true + } + ], + "methods": { + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill": "PASS", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body": "PASS", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration": "PASS", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects": "PASS", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture": "PASS" + } + }, + "layer_a/optimized": { + "distinct_methods": 19, + "all_latest_method_observations_pass": true, + "runs": [ + { + "path": "layer_a/evidence/affected-optimized.json", + "sha256": "e046d1f5a0ac987c8c25d8dbcdcb21b63f432898520e980503ffa67f39b9a672", + "selected_count": 18, + "tests_run": 18, + "failures": 0, + "errors": 0, + "successful": true + }, + { + "path": "layer_a/evidence/identity-refresh-optimized.json", + "sha256": "d0ebe8680885cc7ec059046e3b5c63a1f1b49a1a48af313251baf81bf10ab471", + "selected_count": 2, + "tests_run": 2, + "failures": 0, + "errors": 0, + "successful": true + } + ], + "methods": { + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed": "PASS", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill": "PASS", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body": "PASS", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration": "PASS", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects": "PASS", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_callable_factory_selector_is_refused_before_factory_or_body": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_class_fixture_function_and_code_substitutions_are_refused": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_custom_testcase_run_is_refused_before_execution": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_identity_change_during_body_is_not_a_clean_kill": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_module_alias_subclass_and_population_hooks_refused_before_execution": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_named_class_and_method_selection_preserve_exact_population": "PASS", + "test_mutation_runner.IdentityHarnessRules.test_postload_substitution_refused_before_any_fixture": "PASS" + } + } + }, + "bound_runtime_sha256": { + "kernel_replay": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "layer_a": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc" + }, + "status": "CLEAR" +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations.py new file mode 100644 index 000000000..bef7ffd08 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +"""Bounded actual runner-source guard omissions; no scanner/Lean mutations.""" +import ast, hashlib, importlib.util, json, os +from pathlib import Path +import shutil, subprocess, sys +ROOT=Path(__file__).resolve().parent + +def sha(raw):return hashlib.sha256(raw).hexdigest() +def load(path,name): + spec=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m);return m + +GUARDS=[ + ('ignore-module-hook-refusal',"if module.__dict__.get('load_tests') is not None:",'if False:', 'test_module_alias_subclass_and_population_hooks_refused_before_execution'), + ('accept-callable-selector-factory',"raise ValueError('unsupported callable or selector kind')",'return self.remember(super().loadTestsFromName(name,module))','test_callable_factory_selector_is_refused_before_factory_or_body'), + ('ignore-selected-class-object',"type(test) is not binding['class']",'False','test_class_fixture_function_and_code_substitutions_are_refused'), + ('ignore-original-function-object','a is c and b is d','b is d','test_class_fixture_function_and_code_substitutions_are_refused'), + ('ignore-original-code-object','a is c and b is d','a is c','test_class_fixture_function_and_code_substitutions_are_refused'), + ('ignore-declared-function-chain',"if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']):",'if False:','test_class_fixture_function_and_code_substitutions_are_refused'), + ('skip-before-fixture-identity-validation','if not identity_matches(test,bindings.get(id(test))):','if False:','test_postload_substitution_refused_before_any_fixture'), + ('skip-runtime-identity-validation','if any(not identity_matches(test,bindings.get(id(test))) for test in cases):','if False:','test_class_fixture_function_and_code_substitutions_are_refused'), +] +report=[] +for tool in ['kernel_replay','layer_a']: + parent=ROOT/tool/'proposed';filename='run_tests.py' if tool=='kernel_replay' else 'mutation_test.py' + original=(parent/filename).read_text(); healthy=load(parent/('mutations.py' if tool=='kernel_replay' else 'mutation_test.py'),'healthy_'+tool) + for mode in ['normal','optimized']: + for name,before,after,method in GUARDS: + if original.count(before)!=1:raise ValueError((tool,name,'nonunique anchor',original.count(before))) + changed=original.replace(before,after,1);ast.parse(changed) + work=ROOT/tool/'evidence'/'guard-mutants'/mode/name + work.mkdir(parents=True,exist_ok=True) + for p in parent.glob('*.py'):(work/p.name).write_bytes(p.read_bytes()) + shutil.copytree(parent/'tests',work/'tests',dirs_exist_ok=True) + (work/filename).write_text(changed) + out=work/'receipt.json';env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONOPTIMIZE']='1' if mode=='optimized' else '0' + command=[sys.executable,'-B','-S']+(['-O'] if mode=='optimized' else [])+[str(work/filename)] + cls='test_mutation_harness.IdentityHarnessTests' if tool=='kernel_replay' else 'test_mutation_runner.IdentityHarnessRules' + if tool=='layer_a':command+=['--internal-test-runner','--test-root',str(work/'tests')] + command+=['--output',str(out),'--test',cls+'.'+method] + p=subprocess.run(command,cwd=work,env=env,capture_output=True,text=True,timeout=20) + (work/'stdout.log').write_text(p.stdout);(work/'stderr.log').write_text(p.stderr) + value=json.loads(out.read_text()) if out.exists() else {} + outcome=(healthy.classify(value,p.returncode) if tool=='kernel_replay' else healthy.classify_test_result(value,p.returncode)) + report.append({'tool':tool,'mode':mode,'name':name,'source_file':filename,'original_sha256':sha(original.encode()),'mutant_sha256':sha(changed.encode()),'test':cls+'.'+method,'outcome':outcome,'exit_code':p.returncode,'assertion_failures':value.get('assertion_failures'),'errors':value.get('errors'),'receipt':str(out.relative_to(ROOT)),'command':command}) + print(tool,mode,name,outcome,flush=True) +(ROOT/'GUARD_MUTATIONS.json').write_text(json.dumps({'scope':'8 new runner identity safeguard themes per tool/mode; not production scanner/replay mutants','results':report,'all_assertion_killed':all(x['outcome']=='KILLED' and x['errors']==0 for x in report)},indent=2)+'\n') +if any(x['outcome']!='KILLED' or x['errors']!=0 for x in report):raise SystemExit(1) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_exact_descriptors.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_exact_descriptors.py new file mode 100644 index 000000000..5f563e427 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_exact_descriptors.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +"""Bounded actual runner-source guard omissions; no scanner/Lean mutations.""" +import ast, hashlib, importlib.util, json, os +from pathlib import Path +import shutil, subprocess, sys +ROOT=Path(__file__).resolve().parent + +def sha(raw):return hashlib.sha256(raw).hexdigest() +def load(path,name): + spec=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m);return m + +GUARDS=[('allow-static-descriptor-subclasses', 'type(value) in (staticmethod,classmethod)', 'isinstance(value,(staticmethod,classmethod))', 'test_callable_factory_selector_is_refused_before_factory_or_body'), ('allow-named-descriptor-subclasses', 'type(declared) in (type,staticmethod,classmethod)', 'isinstance(declared,(type,staticmethod,classmethod))', 'test_callable_factory_selector_is_refused_before_factory_or_body'), ('invoke-special-descriptor-during-profile-inspection', 'inspect.getattr_static(testCaseClass,name,None) is not inspect.getattr_static(unittest.TestCase,name,None)', 'getattr(testCaseClass,name,None) is not getattr(unittest.TestCase,name,None)', 'test_callable_factory_selector_is_refused_before_factory_or_body')] + +report=[] +for tool in ['kernel_replay','layer_a']: + parent=ROOT/tool/'proposed';filename='run_tests.py' if tool=='kernel_replay' else 'mutation_test.py' + original=(parent/filename).read_text(); healthy=load(parent/('mutations.py' if tool=='kernel_replay' else 'mutation_test.py'),'healthy_'+tool) + for mode in ['normal','optimized']: + for name,before,after,method in GUARDS: + if original.count(before)!=1:raise ValueError((tool,name,'nonunique anchor',original.count(before))) + changed=original.replace(before,after,1);ast.parse(changed) + work=ROOT/tool/'evidence'/'guard-mutants'/mode/name + work.mkdir(parents=True,exist_ok=True) + for p in parent.glob('*.py'):(work/p.name).write_bytes(p.read_bytes()) + shutil.copytree(parent/'tests',work/'tests',dirs_exist_ok=True) + (work/filename).write_text(changed) + out=work/'receipt.json';env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONOPTIMIZE']='1' if mode=='optimized' else '0' + command=[sys.executable,'-B','-S']+(['-O'] if mode=='optimized' else [])+[str(work/filename)] + cls='test_mutation_harness.IdentityHarnessTests' if tool=='kernel_replay' else 'test_mutation_runner.IdentityHarnessRules' + if tool=='layer_a':command+=['--internal-test-runner','--test-root',str(work/'tests')] + command+=['--output',str(out),'--test',cls+'.'+method] + p=subprocess.run(command,cwd=work,env=env,capture_output=True,text=True,timeout=20) + (work/'stdout.log').write_text(p.stdout);(work/'stderr.log').write_text(p.stderr) + value=json.loads(out.read_text()) if out.exists() else {} + outcome=(healthy.classify(value,p.returncode) if tool=='kernel_replay' else healthy.classify_test_result(value,p.returncode)) + report.append({'tool':tool,'mode':mode,'name':name,'source_file':filename,'original_sha256':sha(original.encode()),'mutant_sha256':sha(changed.encode()),'test':cls+'.'+method,'outcome':outcome,'exit_code':p.returncode,'assertion_failures':value.get('assertion_failures'),'errors':value.get('errors'),'receipt':str(out.relative_to(ROOT)),'command':command}) + print(tool,mode,name,outcome,flush=True) +(ROOT/'EXACT_DESCRIPTOR_GUARD_MUTATIONS.json').write_text(json.dumps({'scope':'3 exact-descriptor/static-inspection refusal safeguards per tool/mode; prior11themes remain separate','results':report,'all_assertion_killed':all(x['outcome']=='KILLED' and x['errors']==0 for x in report)},indent=2)+'\n') +if any(x['outcome']!='KILLED' or x['errors']!=0 for x in report):raise SystemExit(1) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_followup.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_followup.py new file mode 100644 index 000000000..ac076c010 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_followup.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +"""Bounded actual runner-source guard omissions; no scanner/Lean mutations.""" +import ast, hashlib, importlib.util, json, os +from pathlib import Path +import shutil, subprocess, sys +ROOT=Path(__file__).resolve().parent + +def sha(raw):return hashlib.sha256(raw).hexdigest() +def load(path,name): + spec=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m);return m + +GUARDS=[('allow-custom-construction', "def ordinary_test_class(self,testCaseClass):\n # Construction and attribute dispatch must not rewrite the population.\n if type(testCaseClass) is not type:\n return False\n for name in ('__init__','__new__','__getattribute__','__setattr__','__delattr__'):\n if getattr(testCaseClass,name,None) is not getattr(unittest.TestCase,name,None):\n return False\n for base in testCaseClass.__mro__:\n if '__getattr__' in base.__dict__:\n return False\n for name,value in base.__dict__.items():\n if name.startswith(self.testMethodPrefix) or name=='runTest':\n function=value.__func__ if isinstance(value,(staticmethod,classmethod)) else value\n if not inspect.isfunction(function):\n return False\n return True", 'def ordinary_test_class(self,testCaseClass):\n return True', 'test_callable_factory_selector_is_refused_before_factory_or_body'), ('allow-module-dir-population-omission', 'for name in sorted(module.__dict__):\n value=module.__dict__[name]', 'for name in dir(module):\n value=getattr(module,name)', 'test_module_alias_subclass_and_population_hooks_refused_before_execution')] + +report=[] +for tool in ['kernel_replay','layer_a']: + parent=ROOT/tool/'proposed';filename='run_tests.py' if tool=='kernel_replay' else 'mutation_test.py' + original=(parent/filename).read_text(); healthy=load(parent/('mutations.py' if tool=='kernel_replay' else 'mutation_test.py'),'healthy_'+tool) + for mode in ['normal','optimized']: + for name,before,after,method in GUARDS: + if original.count(before)!=1:raise ValueError((tool,name,'nonunique anchor',original.count(before))) + changed=original.replace(before,after,1);ast.parse(changed) + work=ROOT/tool/'evidence'/'guard-mutants'/mode/name + work.mkdir(parents=True,exist_ok=True) + for p in parent.glob('*.py'):(work/p.name).write_bytes(p.read_bytes()) + shutil.copytree(parent/'tests',work/'tests',dirs_exist_ok=True) + (work/filename).write_text(changed) + out=work/'receipt.json';env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONOPTIMIZE']='1' if mode=='optimized' else '0' + command=[sys.executable,'-B','-S']+(['-O'] if mode=='optimized' else [])+[str(work/filename)] + cls='test_mutation_harness.IdentityHarnessTests' if tool=='kernel_replay' else 'test_mutation_runner.IdentityHarnessRules' + if tool=='layer_a':command+=['--internal-test-runner','--test-root',str(work/'tests')] + command+=['--output',str(out),'--test',cls+'.'+method] + p=subprocess.run(command,cwd=work,env=env,capture_output=True,text=True,timeout=20) + (work/'stdout.log').write_text(p.stdout);(work/'stderr.log').write_text(p.stderr) + value=json.loads(out.read_text()) if out.exists() else {} + outcome=(healthy.classify(value,p.returncode) if tool=='kernel_replay' else healthy.classify_test_result(value,p.returncode)) + report.append({'tool':tool,'mode':mode,'name':name,'source_file':filename,'original_sha256':sha(original.encode()),'mutant_sha256':sha(changed.encode()),'test':cls+'.'+method,'outcome':outcome,'exit_code':p.returncode,'assertion_failures':value.get('assertion_failures'),'errors':value.get('errors'),'receipt':str(out.relative_to(ROOT)),'command':command}) + print(tool,mode,name,outcome,flush=True) +(ROOT/'FOLLOWUP_GUARD_MUTATIONS.json').write_text(json.dumps({'scope':'2 new construction/module-discovery safeguards per tool/mode; prior8themes remain separate','results':report,'all_assertion_killed':all(x['outcome']=='KILLED' and x['errors']==0 for x in report)},indent=2)+'\n') +if any(x['outcome']!='KILLED' or x['errors']!=0 for x in report):raise SystemExit(1) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_selector.py b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_selector.py new file mode 100644 index 000000000..22733d6a5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/guard_mutations_selector.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +"""Bounded actual runner-source guard omissions; no scanner/Lean mutations.""" +import ast, hashlib, importlib.util, json, os +from pathlib import Path +import shutil, subprocess, sys +ROOT=Path(__file__).resolve().parent + +def sha(raw):return hashlib.sha256(raw).hexdigest() +def load(path,name): + spec=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m);return m + +GUARDS=[('allow-selector-descriptor-or-proxy-execution', " for part in parts:\n parent=current\n if inspect.ismodule(current):\n if type(current) is not type(sys):\n raise ValueError('unsupported module attribute dispatch')\n current=current.__dict__[part]\n elif isinstance(current,type):\n if type(current) is not type:\n raise ValueError('unsupported selector metaclass')\n if issubclass(current,unittest.TestCase) and not self.ordinary_test_class(current):\n raise ValueError('unsupported TestCase declaration traversal')\n declared=inspect.getattr_static(current,part)\n if not (inspect.isfunction(declared) or isinstance(declared,(type,staticmethod,classmethod))):\n raise ValueError('unsupported selector descriptor')\n current=getattr(current,part)\n else:\n raise ValueError('unsupported selector object traversal')", ' for part in parts:\n parent=current\n if inspect.ismodule(current):\n current=current.__dict__[part]\n else:\n current=getattr(current,part)', 'test_callable_factory_selector_is_refused_before_factory_or_body')] + +report=[] +for tool in ['kernel_replay','layer_a']: + parent=ROOT/tool/'proposed';filename='run_tests.py' if tool=='kernel_replay' else 'mutation_test.py' + original=(parent/filename).read_text(); healthy=load(parent/('mutations.py' if tool=='kernel_replay' else 'mutation_test.py'),'healthy_'+tool) + for mode in ['normal','optimized']: + for name,before,after,method in GUARDS: + if original.count(before)!=1:raise ValueError((tool,name,'nonunique anchor',original.count(before))) + changed=original.replace(before,after,1);ast.parse(changed) + work=ROOT/tool/'evidence'/'guard-mutants'/mode/name + work.mkdir(parents=True,exist_ok=True) + for p in parent.glob('*.py'):(work/p.name).write_bytes(p.read_bytes()) + shutil.copytree(parent/'tests',work/'tests',dirs_exist_ok=True) + (work/filename).write_text(changed) + out=work/'receipt.json';env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONOPTIMIZE']='1' if mode=='optimized' else '0' + command=[sys.executable,'-B','-S']+(['-O'] if mode=='optimized' else [])+[str(work/filename)] + cls='test_mutation_harness.IdentityHarnessTests' if tool=='kernel_replay' else 'test_mutation_runner.IdentityHarnessRules' + if tool=='layer_a':command+=['--internal-test-runner','--test-root',str(work/'tests')] + command+=['--output',str(out),'--test',cls+'.'+method] + p=subprocess.run(command,cwd=work,env=env,capture_output=True,text=True,timeout=20) + (work/'stdout.log').write_text(p.stdout);(work/'stderr.log').write_text(p.stderr) + value=json.loads(out.read_text()) if out.exists() else {} + outcome=(healthy.classify(value,p.returncode) if tool=='kernel_replay' else healthy.classify_test_result(value,p.returncode)) + report.append({'tool':tool,'mode':mode,'name':name,'source_file':filename,'original_sha256':sha(original.encode()),'mutant_sha256':sha(changed.encode()),'test':cls+'.'+method,'outcome':outcome,'exit_code':p.returncode,'assertion_failures':value.get('assertion_failures'),'errors':value.get('errors'),'receipt':str(out.relative_to(ROOT)),'command':command}) + print(tool,mode,name,outcome,flush=True) +(ROOT/'SELECTOR_GUARD_MUTATIONS.json').write_text(json.dumps({'scope':'1 named-selector descriptor/proxy refusal safeguard per tool/mode; prior10themes remain separate','results':report,'all_assertion_killed':all(x['outcome']=='KILLED' and x['errors']==0 for x in report)},indent=2)+'\n') +if any(x['outcome']!='KILLED' or x['errors']!=0 for x in report):raise SystemExit(1) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-final.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-final.json new file mode 100644 index 000000000..f72601e59 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-final.json @@ -0,0 +1,64 @@ +{ + "verdict": "CLEAR_SCOPED_ENGINEERING", + "scope": "Source/evidence review of final ordinary unittest declaration/identity loader repair; no full G0, scanner, Lean, mathematical, hosted or federation acceptance claim", + "final_bindings": { + "kernel_replay/run_tests.py": "2c54e05593641f0b20dc565d5b8e24cdd819f739d7f38b5130631402d5616efb", + "kernel_replay/tests/test_mutation_harness.py": "c16063e29d3e91b315120f1143ec6763608bb5ed33d90af6fa839f82ed489022", + "layer_a/mutation_test.py": "cf742de46c1e386deeb11b122ed5bccdcab0778666b0b2774fab78e57eed1ad2", + "layer_a/tests/test_mutation_runner.py": "9ecf6dbdc0cf30ecf1b9c4f72d6cda21bc8bfe4eac3a5383ebe4e8b1e93a2866" + }, + "closed_findings": [ + { + "id": "IDENTITY-REVIEW-F1", + "boundary": "Custom TestCase constructors/metaclasses/attribute dispatch are refused before instantiation; declared function/code chains are captured before standard construction and compared afterward." + }, + { + "id": "IDENTITY-REVIEW-F2", + "boundary": "Default discovery enumerates actual ordinary-module dictionary declarations and does not invoke module __dir__ or __getattr__." + }, + { + "id": "IDENTITY-REVIEW-F3", + "boundary": "Named selector traversal checks the supported TestCase profile before class attribute access, uses raw static declaration inspection, and refuses non-module/non-class proxy/factory traversal." + }, + { + "id": "IDENTITY-REVIEW-F4", + "boundary": "Supported descriptors are exact built-in staticmethod/classmethod types; subclasses are refused. Constructor and dispatch-member inspection uses inspect.getattr_static, so the profile inspector does not invoke custom descriptors." + } + ], + "source_partition": "Compared with c77ee122/50c0e2d first reviewed generation, IdentityLoader is the only changed existing top-level definition in either runtime. The actual function/code binding, body lifecycle, exception identity, synchronous None-return profile, accounting and classifier logic remain unchanged. Shared nine-definition identity blocks match by AST across both tools.", + "test_partition": "Only the two existing identity methods for module population hooks and callable/constructor/descriptor factories expand; no identity-stage methods are deleted or added after the seven-method generation. All other methods retain exact AST identity.", + "verification_evidence": { + "fresh_current_guard_observations": 12, + "fresh_current_themes_per_tool_mode": 3, + "fresh_current_assertion_kills": 12, + "fresh_current_errors": 0, + "fresh_targeted_positive_receipts": 4, + "fresh_targeted_method_count_per_receipt": 1, + "fresh_targeted_modes": [ + "normal", + "optimized" + ], + "preserved_prior_guard_observations": 44, + "preserved_prior_campaign_sizes": [ + 32, + 8, + 4 + ], + "composed_guard_observations_all_generations": 56, + "distinct_guard_themes_per_tool": 14, + "not_production_mutant_count": true, + "composed_distinct_affected_methods_per_mode": { + "kernel_replay": 27, + "layer_a": 19 + }, + "binding_review": "evidence-binding-review-final.json" + }, + "preservation": "All earlier AMEND reviews, failed omission probes, original failed normal run and generation-bound receipts remain intact. They are not overwritten or relabeled as final-source executions.", + "review_execution": "Final review used source, AST, hashes and saved receipts only; no completed test or probe was rerun. Earlier new-counterexample executions remain explicitly generation-bound.", + "limitations": [ + "Trusted ordinary Python test source/runtime and source/runner custody are required; this is not an arbitrary malicious-code sandbox.", + "The finite controls verify declared supported discovery/identity/lifecycle behavior, not universal semantic test completeness or universal scanner correctness.", + "Canonical registration, portable documentation composition, current-head CI, integration and final federation gates remain the root integrator\u2019s separate obligations." + ], + "findings": [] +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-final.md b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-final.md new file mode 100644 index 000000000..cf753a465 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-final.md @@ -0,0 +1,33 @@ +# Final scoped loader identity review + +**CLEAR_SCOPED_ENGINEERING** at kernel runtime `2c54e055` / harness `c16063e2` +and layer-a runtime `cf742de4` / harness `9ecf6dbd`. + +The four demonstrated identity/population findings are closed. The loader +snapshots declared function/code chains before standard construction; rejects +unsupported constructors, metaclasses and attribute dispatch; enumerates actual +module declarations; and validates named selectors before invoking class +attributes. Descriptor allowance uses exact built-in types, and constructor +inspection is static. Unsupported descriptor subclasses and selector proxies +cannot transform the selected population before its snapshot. + +The final twelve guard observations are actual assertion kills with zero +errors. Four saved normal/optimized targeted receipts each pass the expanded +factory/descriptor method. The preceding 32, 8 and 4 guard observations remain +separately bound to their earlier generations. Together these are 56 guard +observations across 14 themes per tool and two modes, not 56 production scanner +or replay mutations and not a fresh whole campaign. Applicable affected method +unions remain kernel 27 and layer-a 19 per mode. + +Source partition review shows only `IdentityLoader` changed after the first +reviewed identity generation; the lifecycle, function/code matching and +classifier definitions remain exact. Only two existing identity methods expand +with the new controls. All other test methods retain exact AST identity. The +independent evidence-binding review confirms current source/test hashes, mutant +sources, raw receipts and logs. Final review repeated no completed test. + +All AMEND reviews, failed omission probes and earlier generation receipts are +preserved. This verdict covers the documented ordinary trusted Python profile; +it is not an arbitrary-code sandbox, universal scanner proof, scientific or +federation CBZ-0 claim. Root retains canonical registration, documentation +composition, current-head CI and integration obligations. diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-followup.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-followup.json new file mode 100644 index 000000000..5e8857409 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-followup.json @@ -0,0 +1,47 @@ +{ + "verdict": "AMEND", + "scope": "Only changed construction/module discovery boundaries and applicable evidence; no completed verification rerun", + "reviewed_runtime_hashes": { + "kernel_replay": "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "layer_a": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822" + }, + "frozen_bindings_read": { + "kernel_replay/run_tests.py": "730bf28746f6574dc11cf9d8b63d759c6edab1aafed8d2a73b21f2388278cef3", + "kernel_replay/tests/test_mutation_harness.py": "8d42a69f5b9a73705837111d59bbbe56c5f41ee84362ff1b006ea38226a37690", + "layer_a/mutation_test.py": "c07a257fd5a641b67e00431616fe2e3cfd0426ebc0066383bf328356c227f822", + "layer_a/tests/test_mutation_runner.py": "708061a74bdc800addd5394f058605f4e063e172dd6933e715639a499f6c7956" + }, + "closed_previous_findings": [ + { + "id": "IDENTITY-REVIEW-F1", + "state": "SOURCE_AND_SCOPED_EVIDENCE_CLOSED", + "reason": "Ordinary construction, metaclass and attribute dispatch checked before instantiation; class function/code declarations snapshotted before construction and compared afterward." + }, + { + "id": "IDENTITY-REVIEW-F2", + "state": "SOURCE_AND_SCOPED_EVIDENCE_CLOSED", + "reason": "Module enumeration now uses sorted actual module dictionary keys/direct values, bypassing module __dir__ and __getattr__." + } + ], + "new_findings": [ + { + "id": "IDENTITY-REVIEW-F3", + "severity": "P1", + "title": "Reject method descriptors before named-selector resolution", + "cause": "loadTestsFromName calls getattr(TestCaseClass,part) before ordinary_test_class is checked by frozen_cases. An unsupported descriptor can alias itself to another body before that guard sees the class.", + "observed": "Both exact proposed runners return SURVIVED/exit0 with selected C.test_second, invalid_population=[], trace descriptor,first. The retained original second body is absent.", + "evidence": "review-probes/method-descriptor-alias/RESULTS.json", + "fix": "Validate an ordinary TestCase class before accessing a method selector and avoid invoking custom descriptors. Refuse non-module/non-TestCase object traversal rather than allowing selector factory side effects." + } + ], + "followup_guard_evidence": { + "records": 8, + "themes_per_tool_mode": 2, + "actual_assertion_kills": 8, + "errors": 0, + "file": "FOLLOWUP_GUARD_MUTATIONS.json" + }, + "prior_evidence": "Original32 guard executions and normal/optimized27kernel19layer applicable method unions retain source-specific validity; not new whole40guard/fullG0 runs. Original AMEND/probes remain preserved.", + "new_execution": "Exactlytwo new normal-mode CLI probes for new named-method descriptor path; no completed tests/math/Lean/scanner jobs rerun.", + "limits": "Ordinary trusted Python runtime and source custody; no malicious sandbox or universal scanner correctness claim." +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-followup.md b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-followup.md new file mode 100644 index 000000000..5c8f9fce6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-followup.md @@ -0,0 +1,22 @@ +# Follow-up independent identity review + +Verdict: **AMEND** at kernel `730bf287` and layer-a `c07a257f`. + +The constructor and module-directory findings from the original review are +closed in source and scoped evidence. The loader checks ordinary construction +before instantiation, freezes declared function/code chains before construction, +and enumerates the actual module dictionary. The eight new guard executions are +actual assertion kills with zero errors. Earlier applicable evidence remains +separate; it is not relabeled as a new whole campaign. + +**IDENTITY-REVIEW-F3 / P1:** Exact named-method resolution still invokes a custom +class descriptor through `getattr` before validating the ordinary TestCase class. +The descriptor can replace itself with another ordinary method. Both runners +then return SURVIVED/exit 0 for `C.test_second`, with trace `descriptor, first` +and no original second-body execution. The failing original body is retained. + +Validate ordinary TestCase classes before traversing their attributes and refuse +unsupported descriptor/object traversal before invoking it. The new exact-source +probes and receipts are under `review-probes/method-descriptor-alias/`. Only these +two newly uncovered normal-mode paths were executed; no completed verification +was repeated. Preserve the original review and all red evidence. diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-selector-boundary.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-selector-boundary.json new file mode 100644 index 000000000..cfdde9fe2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-selector-boundary.json @@ -0,0 +1,31 @@ +{ + "verdict": "AMEND", + "scope": "Final named-selector boundary review at exact d1783e48/6a719ffd runtime generation", + "reviewed_bindings": { + "kernel_replay/run_tests.py": "d1783e4892e5ae406762d8917cadb8d84534fd271744fdd92a1e285a72e26739", + "kernel_replay/tests/test_mutation_harness.py": "99d0bc18609f4966e7e8a12f4731cb13fb45a23d4689467da2c3fd564ef74030", + "layer_a/mutation_test.py": "6a719ffd05533bdd982b2dbb5c398ba7c5fc41b277c6e2277b33dab56689b463", + "layer_a/tests/test_mutation_runner.py": "849c787473367390fa56d8b75447bd489d18a1a308df0fd94f910dd47decc4de" + }, + "closed_finding": "IDENTITY-REVIEW-F3 named raw descriptor/proxy traversal ordering is fixed in source and four targeted guard assertion kills; earlier F1/F2 source/evidence remain applicable.", + "findings": [ + { + "id": "IDENTITY-REVIEW-F4", + "severity": "P1", + "title": "Refuse subclasses of allowed descriptor types before lookup", + "cause": "ordinary_test_class unwraps staticmethod/classmethod with isinstance, and selector descriptor allowance also uses isinstance. Custom subclasses can override __get__ while still passing these checks.", + "actual_observation": "Both exact proposed runners report SURVIVED/exit0, two distinct names, invalid_population=[], trace descriptor,first,first. The original second failing body is retained but omitted.", + "evidence": "review-probes/staticmethod-subclass-alias/RESULTS.json", + "minimal_fix": "Allow exact staticmethod/classmethod types only; reject custom subclasses before any descriptor lookup. Use static lookup for constructor/dispatch member comparisons as well, so the refusal inspector itself does not execute a custom descriptor." + } + ], + "targeted_guard_evidence": { + "records": 4, + "assertion_kills": 4, + "errors": 0, + "file": "SELECTOR_GUARD_MUTATIONS.json" + }, + "new_execution": "Two new normal-mode probes for unsupported staticmethod subclass dispatch; no completed verification rerun.", + "prior_verification": "Previous40 generation-bound guard executions and27/19method unions remain separate applicable observations; not relabeled fresh final-source whole campaigns.", + "limits": "Trusted ordinary Python test source/runtime, no arbitrary malicious-code sandbox or universal scanner correctness claim." +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-selector-boundary.md b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-selector-boundary.md new file mode 100644 index 000000000..4904c22e7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review-selector-boundary.md @@ -0,0 +1,19 @@ +# Selector boundary review + +AMEND at exact kernel `d1783e48` and layer-a `6a719ffd`. + +F3's raw descriptor/proxy traversal ordering is fixed, with four actual new +guard assertion kills and zero errors. Previous findings and applicable +verification remain separately preserved. + +**F4 / P1:** `isinstance(..., (staticmethod, classmethod))` also permits custom +subclasses with an overriding `__get__`. Both runners accept such a descriptor, +which aliases the second declared method to the first before snapshots. The +actual results are SURVIVED/exit 0 with two names and trace +`descriptor, first, first`; the retained second failing body is absent. + +Use exact built-in descriptor types for the supported profile, and inspect +constructor/attribute-dispatch members statically so the refusal check itself +cannot invoke a custom descriptor. Exact-source probes and receipts are in +`review-probes/staticmethod-subclass-alias/`. Only these two new normal-mode +probes were executed; no completed check was repeated. diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review.json new file mode 100644 index 000000000..fb8ceee8e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review.json @@ -0,0 +1,54 @@ +{ + "scope": "Independent bounded source/evidence review of loader identity repair; no mathematical/scanner/Lean/full-suite replay", + "verdict": "AMEND", + "runtime_probe_hashes": { + "kernel_replay": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "layer_a": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc" + }, + "reviewed_files": { + "kernel_replay/proposed/run_tests.py": "c77ee122e788fbb2a88ffaba12e0b4de75209b6f18ce2b6053fed68a5a4ce4d5", + "kernel_replay/proposed/tests/test_mutation_harness.py": "da9bb463c0675be7729067c8a46e55b5171293c15be598c5e891051818c49850", + "layer_a/proposed/mutation_test.py": "50c0e2d64fecbaa232fa867eb7c9e4a1a4f02ed1ea163389c1111ba700c729cc", + "layer_a/proposed/tests/test_mutation_runner.py": "4e33dcb77a0f897976462e8c10b46de65bc2eeddba8d2b0f3604f3b3832f2b19" + }, + "findings": [ + { + "id": "IDENTITY-REVIEW-F1", + "severity": "P1", + "title": "Freeze declarations before TestCase construction", + "locations": [ + "kernel_replay/proposed/run_tests.py:IdentityLoader.loadTestsFromTestCase", + "layer_a/proposed/mutation_test.py:IdentityLoader.loadTestsFromTestCase" + ], + "cause": "super().loadTestsFromTestCase instantiates TestCases before remember captures function and code identities. A custom __init__ can alias the second declared method to the first before either snapshot.", + "observed": "Both exact proposed runners return SURVIVED/exit0, invalid_population=[], two distinct selected identities and trace first,first, while the retained failing second method never executes.", + "evidence": "review-probes/constructor-alias/RESULTS.json", + "fix": "Capture class/declaration function/code identities before construction and compare afterward; alternatively refuse custom __init__/__new__/metaclasses before instantiating unsupported TestCases." + }, + { + "id": "IDENTITY-REVIEW-F2", + "severity": "P1", + "title": "Enumerate actual module declarations instead of module __dir__", + "locations": [ + "kernel_replay/proposed/run_tests.py:IdentityLoader.loadTestsFromModule", + "layer_a/proposed/mutation_test.py:IdentityLoader.loadTestsFromModule" + ], + "cause": "dir(module) invokes a module-owned __dir__, so the advertised declaration-derived population can omit an actual TestCase declaration before any snapshot.", + "observed": "Both exact proposed runners return SURVIVED/exit0 with only Visible.test_first selected, invalid_population=[], and trace first; declared Hidden.test_hidden retains a failing body but never executes.", + "evidence": "review-probes/module-dir-omission/RESULTS.json", + "fix": "Enumerate actual module.__dict__ keys/values without module __dir__/__getattr__, or explicitly refuse such population hooks. Refuse custom TestCase metaclasses or derive class method names from actual declarations to avoid the analogous class-dir hook." + } + ], + "evidence_review": "evidence-binding-review.json", + "observed_evidence_summary": { + "guard_executions": 32, + "distinct_guard_themes_per_tool_mode": 8, + "all_assertion_killed": true, + "errors": 0, + "kernel_distinct_affected_methods_per_mode": 27, + "layer_a_distinct_affected_methods_per_mode": 19, + "composition": "Staged applicable passing method union; not a new whole run. Original failed layer normal receipt retained; one strengthened canonical-population test rerun alone." + }, + "new_execution": "Exactly four new isolated CLI probes, one constructor-alias and one module-dir omission in each runner; normal mode only. No completed verification repeated.", + "limits": "Trusted ordinary Python test-source/runtime custody remains required. This is not arbitrary malicious-code isolation or universal scanner correctness. Existing mathematical and source-specific evidence is not invalidated." +} diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review.md b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review.md new file mode 100644 index 000000000..80bc9e26a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/independent-review.md @@ -0,0 +1,35 @@ +# Independent loader identity review + +Verdict: **AMEND** at kernel runtime `c77ee122` and layer-a runtime `50c0e2d6`. +The existing alias/subclass hook repair and class/function/code checks are useful, +but two earlier population transformations still produce false green results. + +- **IDENTITY-REVIEW-F1 / P1:** TestCase constructors execute before `remember()` + captures the declarations. An ordinary custom `__init__` can alias the second + declared method to the first. Both runners report SURVIVED/exit 0 with two + distinct names, no invalid population, and `first, first` body traces. The + retained failing second original body is absent. Freeze before construction, + or refuse unsupported constructors/metaclasses before instantiation. +- **IDENTITY-REVIEW-F2 / P1:** `dir(module)` invokes a module-owned `__dir__`. + Returning only `Visible` hides a declared `Hidden` TestCase from the canonical + population. Both runners report SURVIVED/exit 0 with only the visible passing + body. Enumerate actual module dictionary declarations or explicitly refuse + these hooks; handle custom TestCase metaclass directory hooks conservatively. + +Full source-bound fixtures, structured receipts, stdout/stderr and body traces +are under `review-probes/constructor-alias/` and +`review-probes/module-dir-omission/`. These four new normal-mode executions check +newly discovered obligations; no completed test, scanner, Lean or mathematical +verification was rerun. + +The independent evidence-binding check is clear for all 32 prior guard +executions (eight themes per tool/mode): all are actual assertion kills with zero +errors and matching runtime/test copies, receipts and logs. Passing affected +method unions are kernel 27 and layer-a 19 per mode. The original failed layer +normal run remains visible; its changed canonical-population expectation is +superseded only by the targeted stricter test receipt, not relabeled green. +These valid prior observations do not cover the two new counterexamples. + +This review concerns trusted ordinary Python test-source/runtime behavior. It +claims no arbitrary-code sandbox, complete scanner correctness, mathematical +promotion, provider-distinct review or federation CBZ-0 completion. diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/new_tests_template.py.txt b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/new_tests_template.py.txt new file mode 100644 index 000000000..ffcc9d5c9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/new_tests_template.py.txt @@ -0,0 +1,90 @@ + +class IdentityHarnessCLASS(unittest.TestCase): + """Real ordinary-body controls for loader and in-process identity binding.""" + + def run_identity_fixture(self, label, source, selectors=()): + import hashlib + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + runner=root/'RUNNER_FILE' + shutil.copy2(TOOL_ROOT/'RUNNER_FILE',runner) + events=root/'events' + header=('import unittest\nfrom pathlib import Path\n' + +'def record(label):\n with Path('+repr(str(events))+').open("a") as out: out.write(label+"\\n")\n') + fixture=root/'tests'/'FIXTURE_FILE' + fixture.write_text(header+source) + output=root/'receipt.json' + command=[sys.executable,'-B','-S',str(runner),*RUNNER_ARGS,'--output',str(output)] + for selector in selectors:command.extend(['--test',selector]) + p=subprocess.run(command,capture_output=True,text=True,timeout=15) + self.assertTrue(output.exists(),p.stderr) + value=json.loads(output.read_text()) + outcome=CLASSIFY_CALL + observed=events.read_text().splitlines() if events.exists() else [] + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':header+source, + 'fixture_sha256':hashlib.sha256(fixture.read_bytes()).hexdigest(), + 'command':command,'exit_code':p.returncode,'outcome':outcome, + 'events':observed,'receipt':value,'stdout':p.stdout,'stderr':p.stderr} + destination=os.environ.get('CBZ_IDENTITY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return outcome,value,observed + + def test_module_alias_subclass_and_population_hooks_refused_before_execution(self): + base=('class C(unittest.TestCase):\n' + +' def test_first(self): record("first")\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + hooks=[('alias','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('alias-assertion','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('subclass','def load_tests(loader, tests, pattern):\n record("hook")\n def replacement(self): record("replacement")\n R=type("C",(C,),{"test_first":replacement,"test_second":replacement,"__module__":__name__,"__qualname__":"C"})\n globals()["C"]=R\n return loader.loadTestsFromTestCase(R)\n'), + ('omission','def load_tests(loader, tests, pattern):\n record("hook")\n return unittest.TestSuite([C("test_first")])\n')] + for label,hook in hooks: + with self.subTest(shape=label): + source=base+hook + if label=='alias-assertion':source=source.replace('def test_first(self): record("first")','def test_first(self):\n record("first")\n self.fail("first body assertion")') + outcome,value,events=self.run_identity_fixture('hook-'+label,source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_named_class_and_method_selection_preserve_exact_population(self): + source='class C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self): record("second")\n' + for label,selectors,wanted in [('class',('FIXTURE_MODULE.C',),['first','second']), + ('method',('FIXTURE_MODULE.C.test_second',),['second'])]: + with self.subTest(selector=label): + outcome,value,events=self.run_identity_fixture('named-'+label,source,selectors) + self.assertEqual(outcome,'SURVIVED',value) + self.assertEqual(events,wanted,value) + outcome,value,events=self.run_identity_fixture('named-assertion',source.replace('record("first")','record("first"); self.fail("body")'),('FIXTURE_MODULE.C',)) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['first','second'],value) + + def test_callable_factory_selector_is_refused_before_factory_or_body(self): + source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'def factory():\n record("factory")\n return unittest.TestSuite([C("test_one")])\n') + outcome,value,events=self.run_identity_fixture('callable-factory',source,('FIXTURE_MODULE.factory',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_class_fixture_function_and_code_substitutions_are_refused(self): + base=('def replacement(self): record("replacement")\n' + +'class C(unittest.TestCase):\n' + +' @classmethod\n def setUpClass(cls):\n record("class-setup")\n CHANGE\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + for label,change in [('function','cls.test_one=replacement'),('code','cls.test_one.__code__=replacement.__code__')]: + with self.subTest(change=label): + outcome,value,events=self.run_identity_fixture('class-fixture-'+label,base.replace('CHANGE',change)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['class-setup'],value) + self.assertTrue(value['invalid_population'],value) + + def test_identity_change_during_body_is_not_a_clean_kill(self): + source=('class C(unittest.TestCase):\n' + +' def test_first(self):\n record("first")\n type(self).test_second=type(self).test_first\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + outcome,value,events=self.run_identity_fixture('during-body-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['first'],value) + self.assertTrue(value['invalid_population'],value) diff --git a/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/source-partition-review.json b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/source-partition-review.json new file mode 100644 index 000000000..8ca93d038 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/grader-identity-fix/shared/source-partition-review.json @@ -0,0 +1,16 @@ +{ + "kernel_replay": { + "changed_existing_definitions": [ + "IdentityLoader" + ], + "added_definitions": [], + "removed_definitions": [] + }, + "layer_a": { + "changed_existing_definitions": [ + "IdentityLoader" + ], + "added_definitions": [], + "removed_definitions": [] + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/hardening-assessment.json b/cbz/contributions/math514/layer_a/evidence/hardening-assessment.json new file mode 100644 index 000000000..d711dd02a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/hardening-assessment.json @@ -0,0 +1,121 @@ +{ + "actual_repository_G1": "NOT_RUN", + "added_checker_mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "log_sha256": "8686edc6ae1fe32a14b9aa66d66c8bf2022786daf0f6572ec04b2475858cf83a", + "mutated_sha256": "8c3ad8a49859e066e5996374c9d1cb6cf302728f6014967905809ace409f8821", + "name": "disable-unchecked-declaration-refusal", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "log_sha256": "55d3acd966c7d9384d0db2c6f420437a08af5060cf0357d59916ca641c9f248c", + "mutated_sha256": "a537ae85d66e2050c44a4ccf82fced17b676ce4c300adcc16662644fad755d0a", + "name": "skip-malformed-character-refusal", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "log_sha256": "e0c33cc66d79032b41ead944f8b1cda358a2a3c3c34552bce21687fb1495ca25", + "mutated_sha256": "4737b4058424677eaace85a4df2d2bd4e73b9c579ffdcf179db20b8a5fd19d1d", + "name": "miss-escaped-placeholder-helpers", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "log_sha256": "6a9f4b5c4b918bda1d53303d7b48648fff9b4804fda88523c6bcc5587883dcaf", + "mutated_sha256": "98ce8a041cab675654cd49551717e71933a7ea318321f254298bb361e9902072", + "name": "drop-escaped-constant-normalization", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "log_sha256": "211ec1bab634374be7a3ca12dff211e293059f11cb2ac1c1f9b814f1ed0a217f", + "mutated_sha256": "bc8a3da868f3d88ef15d0bf29c7be9898f6b711b9bd137cfa59eefcf0b18d28b", + "name": "miss-multiline-commented-native-config", + "original_sha256": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 57 + } + ], + "additional_newly_planted_defect": { + "after": "LEAN_PLACEHOLDER; adopted-lexer marker normalization and helper policy tested", + "before": "source-check interface missed escaped helper constants", + "shape": "Lean.Elab.\u00abadmitGoal\u00bb and Lean.Meta.\u00abmkSorry\u00bb" + }, + "already_blocked_before_change": [ + "decide +native", + "decide + native", + "decide(config := {native := true})", + "native/config across newlines", + "native/config separated by nested block comments", + "Lean.\u00abofReduceBool\u00bb", + "\u00absorryAx\u00bb", + "unterminated block comments", + "unterminated ordinary/raw strings", + "unterminated escaped identifiers" + ], + "conservative_native_rule": "Every exact native identifier is refused independent of following-text layout/regex; this also rejects harmless uses of native. Whitespace, line break and nested-comment variants are explicitly planted tests.", + "current_G0": "evidence/g0-hardening.json", + "current_G0_sha256": "9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619", + "current_baseline_tests": 60, + "current_declared_mutants": 44, + "current_killed_mutants": 44, + "current_source_unchanged": true, + "green_development_evidence": "evidence/hardening-reported-cases-green.log", + "limits": [ + "Finite planted layouts and source mutants, not proof of universal Lean parsing or scanner correctness.", + "No arbitrary alias/macro expansion or semantic native-dataflow certification.", + "G2 all-declaration axiom collection and G4 kernel recheck remain mandatory." + ], + "mathematical_verification": "NOT_RUN; prior applicable mathematical evidence remains reusable", + "old_56_39_receipt": "evidence/g0-final.json", + "old_56_39_source_generation": "evidence/pre-hardening-source/", + "old_receipt_is_not_current": true, + "reason_for_new_verification": "Concrete newly reported unchecked-declaration and malformed-character integration defects, plus newly planted escaped-helper cases. No historical repository mathematics repeated.", + "red_evidence": "evidence/hardening-reported-cases-red.log", + "red_evidence_sha256": "b10aa79b55cad06abbba23dc452d84dd2087882a891e7f2a8b8f945c209d80cf", + "reported_core_defects": [ + { + "after": "FAIL with LEAN_KERNEL_BYPASS", + "before": "actual manifest STATIC_PASS; source scanner lacked unchecked insertion category", + "shape": "Environment.addDeclWithoutChecking and qualified/escaped constant variants" + }, + { + "after": "FAIL with LEAN_LEXICAL_GAP", + "before": "actual manifest STATIC_PASS", + "shape": "unterminated character literal: def c := 'a" + } + ], + "schema_version": 1, + "scope": "Bounded source checks and actual manifest auditor interface on isolated fixtures only." +} diff --git a/cbz/contributions/math514/layer_a/evidence/hardening-reported-cases-green.log b/cbz/contributions/math514/layer_a/evidence/hardening-reported-cases-green.log new file mode 100644 index 000000000..f61454405 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/hardening-reported-cases-green.log @@ -0,0 +1,65 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 60 tests in 1.489s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/hardening-reported-cases-red.log b/cbz/contributions/math514/layer_a/evidence/hardening-reported-cases-red.log new file mode 100644 index 000000000..b83dbca2c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/hardening-reported-cases-red.log @@ -0,0 +1,179 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '9d94504c21104c3f4d192f417696de27218560fcd9aecff8526539579cfd2f4f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ebe5fd788220f5fef620dc1c3e41e319407cff040a44bf72568e9fbd03b5305f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 250, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '92d10d92f1712b56b2285b874b75b01e8988d2109534e3f41e4ca7b21903b449', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 57 tests in 0.324s + +FAILED (failures=12) diff --git a/cbz/contributions/math514/layer_a/evidence/implementation-tests.log b/cbz/contributions/math514/layer_a/evidence/implementation-tests.log new file mode 100644 index 000000000..1754650f3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/implementation-tests.log @@ -0,0 +1,39 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +---------------------------------------------------------------------- +Ran 34 tests in 0.229s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/import-shadow-green.log b/cbz/contributions/math514/layer_a/evidence/import-shadow-green.log new file mode 100644 index 000000000..7ca514d46 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/import-shadow-green.log @@ -0,0 +1,55 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 50 tests in 1.174s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/import-shadow-red.log b/cbz/contributions/math514/layer_a/evidence/import-shadow-red.log new file mode 100644 index 000000000..e5be3691e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/import-shadow-red.log @@ -0,0 +1,68 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 366, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 356, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 47 tests in 0.326s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/REPORT.md b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/REPORT.md new file mode 100644 index 000000000..1716ed979 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/REPORT.md @@ -0,0 +1,33 @@ +This isolated layer-a patch adds a conservative synchronous unittest profile to the published lifecycle grader. The exact baselines are `mutation_test.py` SHA256 e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed and `tests/test_mutation_runner.py` SHA256 347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d. No actual tool, checker, Lean, behavioral suite, or mutation-definition file was edited. + +The preserved `red-mixed-generator-false-kill.json` is an actual mixed unittest population run through the published grader: one generator test method never entered its deferred body, while another ordinary method raised AssertionError. The grader nevertheless returned KILLED and recorded both method bodies as entered/finished. The lazy execution sentinel remained false. Its full fixture, grader hash, structured result, and traceback log are retained. + +The final policy is deliberately narrow: + +- Selected methods must be ordinary synchronous Python functions or bound methods. Population discovery rejects generator, coroutine, and async-generator function shapes. `inspect.unwrap` validates the decorator chain, and every linked layer is checked, including a lazy middle wrapper whose final unwrap target is ordinary. +- An invalid population is refused before fixtures or methods execute. The existing pristine external population binding remains in force. +- A selected synchronous body must return exactly None. Every other return is ERROR, including False, zero, an empty string, a scalar, a generator, a coroutine, an async generator, a custom awaitable, or an otherwise unknown iterable. The grader does not consume or await the object. +- A fresh native coroutine may be closed only in CORO_CREATED state to avoid an unawaited-coroutine warning. The grader never advances it, awaits an async-generator close, invokes a custom close method, or iterates an unknown object. + +The implementation uses the existing invalid_population fail-closed channel; it does not weaken assertion provenance or add an interpretation that old receipts had proved this new profile. The two existing test classes (eleven old harness methods, including eight lifecycle methods) and all 57 MUTATIONS entries remain byte-for-byte unchanged. The test module's direct-entry guard remains after the new class. + +Four new methods were added: + +1. test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration +2. test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body +3. test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population +4. test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects + +Only these four new methods ran against the final profile, once normally and once under PYTHONOPTIMIZE=1 with `python -B -S -O`; fixture subprocesses inherited optimization. Each mode produced eighteen saved fixture receipts: ordinary None-return pass/kill controls, four scalar/falsey returns, an unknown iterable, three declared lazy method shapes, four decorator-chain shapes, and four synchronous lazy return shapes. All eighteen lazy-execution sentinels remained false in each mode. For the seven refused function/decorator populations, the ordinary-method sentinel also remained false, proving preflight refusal before any body. For runtime non-None returns, the companion genuine assertion body executed; the whole population still graded ERROR. + +The requested final None-only profile received its own RED: before the final return check, zero, False, an empty string, a scalar, and an unknown iterable were falsely accepted in mixed assertion populations. `red-none-profile.log` records five assertion failures. The final normal and optimized logs are GREEN. + +Three actual final-profile source mutants were cleanly assertion-killed in each mode: disabling the non-None return rejection; replacing identity-to-None checking with truthiness (admitting falsey returns); and iterating an unknown returned object during rejection. These mutate the real isolated grader source and run only the new behavioral control through an unchanged trusted runner. Structured receipts show full outer population execution and assertion failures without runtime-error kills. + +The initial implementation rejected known lazy return shapes while allowing other synchronous values. Its completed normal/optimized controls, full source/test snapshot, and five source-mutant receipts per mode are preserved under lazy-types-generation. That generation is explicitly superseded by the final None-only profile. Its pristine function-shape refusal, decorator-chain check, and fresh-native-coroutine disposal controls remain applicable: those code paths and their relevant lazy inputs did not change. Those three completed source-mutant controls per mode are reused. The old type-specific custom-awaitable predicate was removed and is not claimed as a final safeguard. The newly broadened return-profile checks received fresh verification. + +Completed verification of the old eight lifecycle methods, original minimal actual checker-source controls, 57 checker mutants, and mathematics was reused rather than rerun. New evidence is limited to the newly identified lazy-body/None-return obligations. This report is not a fresh full G0 pass, a rerun of historical source mutants, or a CBZ declaration. Provider-distinct review and publication remain separate requirements. + +Frozen full files are in frozen/, with the minimal two-file patch at layer-a-lazy-body.patch and exact baseline/final hashes and method IDs in frozen-manifest.json. The existing two registered file hashes must be updated upon integration. No production helper module or new registry path is needed. The public command and receipt schema remain unchanged. + +Suggested README/SPEC addition: “Mutation grading supports ordinary synchronous unittest methods that return None. Generator, coroutine, async-generator, and wraps-linked lazy method shapes are refused during pristine population discovery. Every non-None body return is ERROR. Returned objects are not iterated or awaited; only a fresh native coroutine may be closed without entering its body. Lazy call-object creation is not evidence that a deferred test body executed.” diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/SHA256.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/SHA256.json new file mode 100644 index 000000000..a5b836c5c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/SHA256.json @@ -0,0 +1,200 @@ +{ + "evidence/layer_a/REPORT.md": "455ff41c5053a43fc14028babf1dcb954c30e4f4b1edd65938e2617dfbcb448b", + "evidence/layer_a/evidence-index.json": "54f031e3e78eb99db76a4bb52993e74d528817ac0a2bde32e714d8180da6a66e", + "evidence/layer_a/frozen-manifest.json": "ab20f9cffe26dee07210df2cefd03bce18188cc32879486cf2c9bd9775742735", + "evidence/layer_a/frozen/mutation_test.py": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "evidence/layer_a/frozen/tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json": "546a0487b817320cff8a25133b5ee00852a7c5ab4c2cbbaf4732420797fd73d2", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json": "1a9c49e8a6d6cdd6e5646c9a57611303c40dc46d72afbac6554329dc7b26cbf2", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json": "45847f4a4001ced04cf789501e107e0a5fa96e5d83be8f35317c7298ee11fb7a", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json": "d96e11963dc875e2ff8904bda1f204efd2eda75076d99e7e96fcab4c48e6609d", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json": "10ee868a3a1ce9ce55af82d43fcc4d96c0e1c4207bd0974593a876d821627054", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json": "49680bf10b970366faad6c2a54f887d74d4037c0a2b6dcd88b8e98d4b962427b", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json": "0789f0d376f08f6ccc7ece63a6f96addd287e083eaf32bf9cccdbd8f3e32615a", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json": "793b6c856f0ad638cd2ff94cdbc62271082f0151381c5f396beb1026a052fdcc", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json": "e2d19461f0f6e62989af51d4372788953ab4d592d0999369f61b9595f7a2006e", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json": "31cc693cb9e4fbf80bf7221acdde18badd4260e1a5d142eba74f5b1d523d5cd7", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json": "bf77ca2c29670567889cc782c5ca9f9fe337c273e346e758380b7fc1d7d01047", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-false.json": "5175d675e72360866f0b9e213e2b609be700ccc4f137244af20a9579ab9ab677", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json": "81867e3c01aa4a019bce93e151bf7e9cc47cd6cecc04ee34f37de9903421cc5b", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json": "68996708e7d3406d4dbcf84c3ece9a12f2b97076232ffb5142397859ddee00b9", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json": "a9bbdcc3798dd64caf37157be379d25acc9d5a3cd9793e04f8b1f99f9837d895", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json": "a91be2e837d85a775429ba28d02df3e76dcc42d5440d3c713f8f0460804c6c37", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json": "2e455ff69fdd3853059ae3edff08f3e263ee81267d1fdcb856ef627e5e05f6f7", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json": "b742457d9a1f0c6ef23cfdfada3727e56c7807903488806327d5d0b1d37a5e6c", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json": "d9287bddd0970ba4b9798eb39a41076e6faec9b0097955a9ba61c4638b8c1352", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json": "4f2655314c829566c904f84ea54a1ab02d1781473bbae0bf388eedabc986a0cb", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json": "6f4215bf662424e2babe77eda5b5d098afb508ad16bb35461f8864260b7884b6", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json": "2610f92083254af3702c77027744df50c4356fb0f545a092389094b5307dcf55", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json": "b515c26385d560098d6fc9de66b9f37422457f6df6eec542d75a0902019674a8", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json": "49f1c1b4253966d0b154b180b2e0bbe215ee5e47aaa523dfa5af1049d32dcfd5", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json": "f18573ad508dd892b347e78ad17752cd25e1ee3549d737bec5228a698deb9aed", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json": "eea7d35092dc3f57deec300fe0a7e69b89c0d03e5fe6f8fe4b6ab10be5f9347f", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json": "dbe6338cbf3a72737f2692e995ab15801abb9ea5b27f642621b10ee533bd6140", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json": "a9ac153790a7ca3de0ee10cd9b82d5ebf874e0c85b3c85eeffec3864b849c51d", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json": "7071407442ade42001a96700df46ffdd3e4ccf89b8839f241ad25c3e684e40af", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json": "e88f2754afabd0709b2d5849485e4041221a3991bccd5cf717c7669f62f66365", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json": "8b2d18cddeae3b978a75c1237c3e6db7de6ea2a0a80333ac5cf107031d788180", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json": "a4eb5eb2e12d97aac180844ffef572671e9f69dc951dc8edc65ff65cba1758d8", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json": "5c0e6cf470f852d0a1d063b5c1d9706523bfabeb86f017f3de05367c4a5fe2f3", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json": "d36244bc7b02af2414656a22641e9c3143cdfa260bcfb886206f41ae7fbc2dbd", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json": "fef668883385084778005cc9a80145eb560bae184c17d9696a87837a854f9948", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json": "1e7bac7dda4704cf38b4ccd813c03eadd551ec71c5dad27ceb68a78f1a54e7a9", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json": "caacde0586c9f66c72398210da982cffcf4b643f25f9cd913a539d0eac4b8ab1", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json": "eb2b41e9c5c1bf4407787bbe583cf7557cf6d1d277eaeecb0061731356a4d935", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json": "3093c4ecf8019ce58b98bd649b569e1fde0a10956fede08ebaeaa8719657dd26", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json": "7c22fdf23cbbdf616b7ca67e1ff3afa1ec0a8c34881a1d6f6d1b79846cc190d3", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json": "bf9302c233cf02fbb7c4b64b12bdeca1fded6a42b90a30a4c66f93b53c6598ea", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json": "94349d53f897e0153fdc5434ec7ad510ff95868cb7f22e3bbaf71feaef40abb4", + "evidence/layer_a/layer-a-lazy-body.patch": "74c45e0f03610cc52f5a11bf46e141456b16209eb5e70696c274f507ce519f57", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json": "5782bffb030c2547c28cbcbea5af75bc3b4b049ba9245dc3bce78c9553a4ef19", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json": "db92a07efac7c5835fd0217cb6b3e801e3525791278c8c05f2559a0298d358de", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json": "c2c4dae7adf7428defe36e546bf2c191d198472a7486ddd0f632a5a7add64df2", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json": "109cf855dbf3cb0a112ec5e84ef6e8fc38b340cd42218fc495e269d6b0bcf95e", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json": "4119f662f38163dab2281b09b4870fc33a3970a999ce1de2f5a4b805e3f68547", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json": "cae461c8c221abac82cf8dfa5f1ca60c698ab826cdfbd84bdf44b9c4e8972707", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json": "bd564c7cb8db830db209ac68cc465590b3e95ccdaeaf9fdfd78567fa423c23c8", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json": "aeb0d29f91c6f9baffb53def30467609199a009bf43f004545c2e6fdf56a24fe", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json": "7bd87726c3f00bcf1675747093f25754a54133aeba7bd570ba3e0a4c31d4a4e7", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json": "3d324ccda4b8290b4231cc3cdc0c99a0eb396583c2a4019d17e8c28b07283d74", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json": "e68cd6a0bcd718145e7cca2d82006e53d5ef19068b48efcf2979d9cfe615d646", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json": "9b0b25325310aea727ca8487c7a02bcbe35f54c251dc2203b7ffcc1792bfb717", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json": "459f307329fe4c5d685006ea438e0910023597174fae58d7d48e1d62ee114de1", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json": "1a1221a7f8a1be3c6c42855f949720762321fa4a7052a4ff3cc6d9f9482cbf16", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json": "bf62558a75f1ed3927f6a9309ba785a60a396c165b297dde565cafebdc38b0c7", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json": "5a4ed48af34668a150cbbaabdbed807212a1db137c0f420507c2c5bb81a4f2c1", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json": "56e55fbf9f4f8b0e1af3817390fc7aa08a8491da2f26cb0f50116393be79e65f", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json": "4987d3caeb119b1f9bc108c826ddb9ff8ac89dcb9f2a13850087f6d08fc85901", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json": "97fb49ab186bd6dcb9e5efa08dfb5acd335b5bf7fab15b9d70fe649a7b364e86", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json": "a5cbef941c2010e9209307ead48bebfbc13546b9149e9b60aca0e97477e30bfe", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json": "baefb71d5c8d1358ab57a458212d5434c4376b02b54c8e64dc9fae57c9316f89", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json": "66b14b689cdc86cd5b6f8755cc09983d1b3bf30a6a411be3387f6dc505796b7a", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json": "6a9bdf9451c0e68887d373c22aeebb2a48a0bc708c1ca49bc272d45df63a5891", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json": "0689128454c38d6887d3f16044519b0db62b79279035f63bf4265ba050d6af65", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json": "ad79c076eb904ce3f4e09d654d6e0f6d9fa29a7986a927c543073196f9bc4647", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json": "69418b9a562b3580fd2c391116e5943cf2c879d4a4fc17d03d155be16126cbe3", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json": "0b0f08fb3f49dff0ee1ccc5ea9bd333e731e1c46dc800ff3bdbd31392da44d4e", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json": "c276402372cfd3b23f38c0d04cdedaa83887b40791b416675fb009d5739c1fb0", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json": "00375b3018dbb38ed995e0cdf1292d88f0b495624c06643e188b06e99e14ad39", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json": "945f7f31a14926921aa730951d2592d3bf6fcb6ff8698efab0d183c9d09fd9f8", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json": "2bce417c754d5d1c4e8faac6d117e54471a318900fed74d3afe1233816fbaf43", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json": "1cd60a7e04e15a048e4d6442f5717a97b4a8a52559d589f2cc03ec4ecf47f44a", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json": "56761ec13c26959f4e1f4687c4c7c5b466875d1c61ee40234553bf2a56fbe265", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json": "b7e863c69fe7f239e622ad2df4c88c54e770da3be597f0d4f40dc9b22163e161", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json": "9af887cff27efe939bb6259ab2f94a8ac2f386ff36deb7f10bb990ed5642d41a", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json": "34112cfbaa4f193e895e3ff8282c9adcbdbbf73ee4db1deb82d40ff2458033d4", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json": "ab76848c7281e5e1cb9dbd0adbc8bc6bc019899c92e1564db11daa37c805a64d", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json": "6fb59b3869ecb457182a695c1f92bbf7ee0fc49146b1a2a7fb126e3fae6f2d45", + "evidence/layer_a/lazy-types-generation/new-guard-source-controls.json": "238b21383ac2e67c70177e99f722e6514c673b19c92b966cdb915733a03ff6cf", + "evidence/layer_a/lazy-types-generation/normal-accept-custom-awaitable-returns.log": "f98a58d94ea390a8c59d0154b6537d0caa22afb3c199f639fc0408677e826be2", + "evidence/layer_a/lazy-types-generation/normal-accept-lazy-return-objects.log": "096fcb129d15d6538af4ccebcd964e0967f85ff4462e95156a92167bd3a69cd4", + "evidence/layer_a/lazy-types-generation/normal-advance-coroutine-instead-of-close.log": "d3b61f30797121ada03de3d9c516f8612f1da70302863aad4eea4eace1f64798", + "evidence/layer_a/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log": "1af2ad87f3ebf353950cd468af5e4c686228d616c3c58ae91b34cba55d7c4dad", + "evidence/layer_a/lazy-types-generation/normal-fixtures/method-async-generator.json": "f355eab504fa7e9a90de1f6b4de1c41c1497f3478d52b2c02b5d3bcb6ffeea3a", + "evidence/layer_a/lazy-types-generation/normal-fixtures/method-coroutine.json": "8e39b10b04e86d8a6a4179a8982b47ea869a5b7dfd34d4c179a0b38f626ae4ca", + "evidence/layer_a/lazy-types-generation/normal-fixtures/method-generator.json": "9e4c665b333c4e10143053dceb7b15a881400e2a956c0d693a2760961b3b720a", + "evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-pass.json": "f4a5cd3eeadafc96fe72f3a93f118d44ad1d8b0931c9686fde2589877f323517", + "evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json": "1baff3e4f75430c91775f50859a6083de2b0ebc8c4c3be347eb91a6b7494fde2", + "evidence/layer_a/lazy-types-generation/normal-fixtures/return-async-generator.json": "73716271ef8fc91aa4b960548f8ddaad6f889e1e4479d8805f0f6d60812d84d6", + "evidence/layer_a/lazy-types-generation/normal-fixtures/return-coroutine.json": "95955d5978be4ae58fa2cc6728cf3c46afff5b9a1611947b2e991628fa9409e1", + "evidence/layer_a/lazy-types-generation/normal-fixtures/return-custom-awaitable.json": "ed0f0985ca9d14428adcea6f6e86fb2704b6e3708fe0e351c87de4841d4fddfd", + "evidence/layer_a/lazy-types-generation/normal-fixtures/return-generator.json": "b9bb90803b9ec5ac074e4bbe69f049eed5e6d5a3406f60b32f0e0cd66b818399", + "evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-async-generator.json": "f53a2aa84fa9d75dae5845058882060f0c90b17700a6aeaefe59627f91b5e894", + "evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-coroutine.json": "9b7894d1a022b4e2ae2dc9bab58d2f1d6c6a9c3c2baa39685c9035200007ff31", + "evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-generator.json": "db55656e367fd2c59adb60d17fd0f20bb7ab7df9d545e6438cfc58252e1c7a15", + "evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json": "04e20b319fbeb47089411c21157662d8c27d75a10bf37e1fe26a59ec1c2d005c", + "evidence/layer_a/lazy-types-generation/normal-ignore-middle-wraps-layers.log": "407f235bb0052146a12670b95a4ab78936ca5fa8e2b2bde5e62075480f180709", + "evidence/layer_a/lazy-types-generation/normal-lazy-controls.log": "3f74abeb9efd8d2a6b52352b04bd1de7ca472db4d801c143c82763fafc62f250", + "evidence/layer_a/lazy-types-generation/normal-middle-decorator-control.log": "c5b7865767c2d5ff0308b06c1dedad9678a3454f23cdb2c0ebee54784388f872", + "evidence/layer_a/lazy-types-generation/optimized-accept-custom-awaitable-returns.log": "1f8098bd02513f56f5d6b35448ff5dbc2e3d756762c8159ae77acfa739a84253", + "evidence/layer_a/lazy-types-generation/optimized-accept-lazy-return-objects.log": "2d132c375f2e255cd69480a46dfc99fde81f14162353e63f9a020bd05fd6d118", + "evidence/layer_a/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log": "91136f9a8c4166c13d9f3ca1909cb2c580028bfe8f55aaaa830b5b0683d544f3", + "evidence/layer_a/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log": "ad28cdd8b06e6a43298004bb5a4afc3fccff128c3de14eea869ddcc67ab228e7", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/method-async-generator.json": "13a7a7fb21967fec1747247704250250bbe65eefbe416c8af1fe9421a165a4ec", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/method-coroutine.json": "43fd1b427fc448730e589b28a717e62880d0223e1834675c5f20b4b11c778aea", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/method-generator.json": "88800a97edc0003802d83bbb00d8b01b5b3bca64d82d26ac8a4a4c6093952744", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-pass.json": "11a7b6fbe3c5596f2037fbf0a827ce4a3e8efc3280fd983e9a9aea2ffd21b994", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json": "c55ca1d66c138bb71cf5a5360ce1ce61e96cfea42f9b076088dcd28fd58b55a0", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/return-async-generator.json": "b467db6092503d65472540654f38b988c796d645c84a05925c3220c8bc779236", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/return-coroutine.json": "b025ad49024eeb7829a3bbeaac7df8306d5b20102f724ab87c489b30352a7419", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json": "095023623c8c3eaf563f2b64afe3857fabb27dd509556a77a8509612a905be6a", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/return-generator.json": "57ad1c7c704b5a4ca36a8a18f8cdd71990a68bf0278fb27fd0c25a6e96dcd631", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json": "bb05833fa4266a768f4c86477f6466606df3ba5f4a301a9511171a836c390232", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json": "a1ea05da56a0f20ee6af1e402b451f02604a27154ec9c62bece931d21a03fcf1", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-generator.json": "1f64453e0c34dfda710cba521af173125a5303825b4b492cf3f1f6a2d89ca6b7", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json": "cb24b8c483e45c8c0066cb54ec3966034d6423d3c0895450dcc5f868109e32c0", + "evidence/layer_a/lazy-types-generation/optimized-ignore-middle-wraps-layers.log": "8baa23df02a8f17dff43efdb1fd2048fa5552bb91a615ea4d2f8467b6f7d65e3", + "evidence/layer_a/lazy-types-generation/optimized-lazy-controls.log": "593132b829a0d077ae8542b425ef8f786397b6939c7ace83713e9a7fc00a9e40", + "evidence/layer_a/lazy-types-generation/run-new-guard-source-controls.py": "08a41c74058c3887c3eb34a232cd64c1c507cab3d4c8ed504e6c5d50a1ae2cc7", + "evidence/layer_a/lazy-types-generation/source/mutation_test.py": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "evidence/layer_a/lazy-types-generation/source/tests/test_mutation_runner.py": "142dffbcf56e1bfd3f21034f31f484f45954f7b1a381d4f558568b67f1d84ac1", + "evidence/layer_a/mixed-generator-red.log": "24af48646a104c428a673946b736347c5150a49224f6b04c0a128467d5327410", + "evidence/layer_a/new-guard-source-controls.json": "88eefd9ff45f1d386329ab3cb499577bb0e3ab3052c45cecefd582d18ee1a3d9", + "evidence/layer_a/normal-accept-falsey-non-none-returns.log": "51c8bfa5fef9f7bf784166942301065a1b17fc1451c530111e7ca000ad061252", + "evidence/layer_a/normal-accept-non-none-return-objects.log": "b43c342618dd83e53ac33fbf29442f34fbb1bb93e3cd9999ec596e42351fbd5c", + "evidence/layer_a/normal-fixtures/method-async-generator.json": "de1512a42f1746292c09c11068804112cd8a9f2dbcb21194df91299e5d821a2a", + "evidence/layer_a/normal-fixtures/method-coroutine.json": "1a5bf1be54b271406f770e5d594f42ec39ff99dad592eabe5764c989f84071da", + "evidence/layer_a/normal-fixtures/method-generator.json": "7c553235cd2d9fb7acd29bb9de900eb5dadcb634715ff56121971b1accad1a61", + "evidence/layer_a/normal-fixtures/ordinary-none-kill.json": "652f070ff6849beebf49ee1a41432081d3ec893616721c1c7b4325bf806845f6", + "evidence/layer_a/normal-fixtures/ordinary-pass.json": "6895a3589ea6b8b162e6a3f8f52a18bd7db43fd9b2cb63be4f359c52fff5c8d6", + "evidence/layer_a/normal-fixtures/ordinary-unknown-iterable.json": "aaea15b6162a0e2343718c9a840e2526d966fd04fb00f4da63c15e6479b5b624", + "evidence/layer_a/normal-fixtures/return-async-generator.json": "6959998c9a32a0df2be27687b9b06ce7f9851097d1e6b5c6dd8f455b83ae20b4", + "evidence/layer_a/normal-fixtures/return-coroutine.json": "a0f413c3db9574bd9e1bfa96147a580591f9b82922ffe50c98cf398f8e3e06df", + "evidence/layer_a/normal-fixtures/return-custom-awaitable.json": "246f43b508601e2af2090da41f5372f8cc4a0757c1b9b89ae9662166b7c28f32", + "evidence/layer_a/normal-fixtures/return-empty-string.json": "374f9aae7d29f618431b5d5f6ed338dfc7b6363bde770463c33f4327013c50c9", + "evidence/layer_a/normal-fixtures/return-false.json": "1cc554c0e12d4d35fbb31ac247a189dd128ebcfaf13a48400038e8fd76237bc8", + "evidence/layer_a/normal-fixtures/return-generator.json": "e24e634e3dab849f68399cee3ec6d9b2ca9021979d8866f0c2ab21fac098c1db", + "evidence/layer_a/normal-fixtures/return-scalar.json": "0926fa0038d5c8b3447f4f194c3c108351d4b098732a5cb066eec9f73d90d392", + "evidence/layer_a/normal-fixtures/return-zero.json": "240eb9063e732fcd1c3311f9302b9a7ae6d2cdb496b1527af571ff0aa6bc1d47", + "evidence/layer_a/normal-fixtures/wrapped-async-generator.json": "86f1e6d71f6adf59d4aa2dbff348606f068cd9a5025de45b0cef544cf638a544", + "evidence/layer_a/normal-fixtures/wrapped-coroutine.json": "a8883d9110e163a208df3439165fb68c2346adc5a83c6fb21244e8b4be5dce86", + "evidence/layer_a/normal-fixtures/wrapped-generator.json": "b031f6e664cfc8ddc10a8eb555c9f934b3e4bd880922df0576f1e0906f205467", + "evidence/layer_a/normal-fixtures/wrapped-lazy-middle.json": "79f63cbbf6eb2fbc2060e7d5fadbc0dcfd71384661e1e3d939ea0a7740bfe3d4", + "evidence/layer_a/normal-iterate-unknown-return-objects.log": "8dea0357a259fb52b0b9fc16aa64ef526d9e8a9328af0a0cd990b1fe5bc54493", + "evidence/layer_a/normal-lazy-controls.log": "7cd8ca15dd44e1f391431ae906909af507dec8d46c9cf7234155206eb02cf060", + "evidence/layer_a/optimized-accept-falsey-non-none-returns.log": "b8bd6b7b83df7648ddc26b938eb53a7308dd4b49dcdd5e2aa5e218180a67106b", + "evidence/layer_a/optimized-accept-non-none-return-objects.log": "198ffa5f6ec6cfa71544844b5034f9a265f0565308450cffaea2b1d26459986f", + "evidence/layer_a/optimized-fixtures/method-async-generator.json": "00650b9fa99119d8c5ac17523ebbaefa41f0f117bb4b7b739ae24f08a2aed1b9", + "evidence/layer_a/optimized-fixtures/method-coroutine.json": "d60b509a1e124a707a85a8a2c9f181e3cbed8c5ae1fe6d381b3f98906c353baa", + "evidence/layer_a/optimized-fixtures/method-generator.json": "7c11e95f44fa283863c7759d38a702d0659b04d782ba684739ee9a21250b64cb", + "evidence/layer_a/optimized-fixtures/ordinary-none-kill.json": "7f83c0181d3689b19c8c7af63007406717a694a8675096be8fe6b3b48de9e24c", + "evidence/layer_a/optimized-fixtures/ordinary-pass.json": "4d7b6304160cb59b956b8ec870671bb0cb89b1884843aea458c3362970ad127b", + "evidence/layer_a/optimized-fixtures/ordinary-unknown-iterable.json": "cae95759690c785a383153530d40814939dfccd734ee06e1a2de247df1ba7f45", + "evidence/layer_a/optimized-fixtures/return-async-generator.json": "8ceba34b0176ef1d9a973dc7eb2d24dc9d43be7f4f0d3906b1abdc0f48c5a99d", + "evidence/layer_a/optimized-fixtures/return-coroutine.json": "ef31f394f904a3665f4bc820d1f6a699cad5bb9bb6b882c9393bc916034d63d3", + "evidence/layer_a/optimized-fixtures/return-custom-awaitable.json": "9dfa05e9b825458c31bee8b3a29a837e41d793df3cba0d1322714d82e66b0eff", + "evidence/layer_a/optimized-fixtures/return-empty-string.json": "03bcf3deb54fc191773573922cedc74fb84578a899681506d00f399c0f5fc090", + "evidence/layer_a/optimized-fixtures/return-false.json": "c5413e6e11e4943a34e6436a6170f00e281dff75986ef218faf0a5849eae26bc", + "evidence/layer_a/optimized-fixtures/return-generator.json": "27390a1a1314e7d41b2e8e46c00c9380b07788cd11194e449d0bc32513b66c3a", + "evidence/layer_a/optimized-fixtures/return-scalar.json": "9420353adf8a5c70c000fadfe922109481d31c2d19cfac7c41857f8361733855", + "evidence/layer_a/optimized-fixtures/return-zero.json": "719b76ba274ecc1046e78fc7b6e61fd364c1c024ffc4ce0a3a76788de6e6fb4c", + "evidence/layer_a/optimized-fixtures/wrapped-async-generator.json": "ab38d0f65fce4e1253a03652c5f238605b912ffed7654957ba9e442dd475befb", + "evidence/layer_a/optimized-fixtures/wrapped-coroutine.json": "768b18d7eed8f0c37ac1e824586bea239b0e35e3017e75ecf67d57f995657ee6", + "evidence/layer_a/optimized-fixtures/wrapped-generator.json": "c5f964ba7c22a2f56edcbfa39b8c0e0668fd3f167a20da42dbbde26745f85979", + "evidence/layer_a/optimized-fixtures/wrapped-lazy-middle.json": "534f373f115d2819a4a4b3fe54b77ab16a39f592f5fd432ba68323878ff4ac62", + "evidence/layer_a/optimized-iterate-unknown-return-objects.log": "1a5ffaa1242c35792165c948c1f9710e153a52d6dffa22a0e748e4a892a0bd03", + "evidence/layer_a/optimized-lazy-controls.log": "d09ea53a8f32dd6933e707254eb6a7c1f9f7c93357ff0059c707cd217e57dd82", + "evidence/layer_a/red-fixtures/method-async-generator.json": "59a57a8c94922dda3ec7faf26f9bd92a9abbbd7c0a55181cebf7ee6b99ab7b63", + "evidence/layer_a/red-fixtures/method-coroutine.json": "4fe1fd1a82f2063b8dcdcc951759fa97b428c2d6ede31ffa04ffe107518d5882", + "evidence/layer_a/red-fixtures/method-generator.json": "82897e6ec4d2b4824a84b61dc1afdc43cdaeeb3d288a93e94eeb4737fcfcf68e", + "evidence/layer_a/red-fixtures/ordinary-pass.json": "27e348122d9f750259b0fd11bde6804094a9781b313e930419eafbea4bff674e", + "evidence/layer_a/red-fixtures/ordinary-unknown-iterable.json": "73a67ab0b8deea5504da9eec393dfdef75f73945b5eb8d1e8160df65d2e52b84", + "evidence/layer_a/red-fixtures/return-async-generator.json": "b5754d4ddd057e4f0c2063704c3d841555feb8bfc79440a96f614eb29b1290df", + "evidence/layer_a/red-fixtures/return-coroutine.json": "1b7470881d93bced1254e086cdf063b6e6c254efc4a260faf40aff39575b793a", + "evidence/layer_a/red-fixtures/return-custom-awaitable.json": "f7d42f3a7573c73784e15f296ad1152671c47102247d71a945a5b4e41130b9ed", + "evidence/layer_a/red-fixtures/return-generator.json": "5d9d154747be2787ddea4ed91fc54277b80273503ae49359646ab825143bc033", + "evidence/layer_a/red-fixtures/wrapped-async-generator.json": "738e717f0936b6310e2ee037d85a29f688d88aa94db68d1a7a44cfa1d1f168c9", + "evidence/layer_a/red-fixtures/wrapped-coroutine.json": "c72bd10145752b0e17304b31e0c23c24cce8f720c26f51712c39c5bb91e4bcb7", + "evidence/layer_a/red-fixtures/wrapped-generator.json": "fddb376a2660fba284666764572753848fc5ee984fd55b2b6d4cea6d61ec6b09", + "evidence/layer_a/red-lazy-controls.log": "8f1c52e4ffc6fb9285c3b6ebf422c33887aa51356406a173a123aa31d9bb0334", + "evidence/layer_a/red-mixed-generator-false-kill.json": "f3763817ae55ae39210c270a44a36b70acf524d5285331e9efc78c4470ae834a", + "evidence/layer_a/red-none-profile-fixtures/ordinary-none-kill.json": "8cb1f8cd41f85cb4762e23aaac3b7cc11f309fdf9d56c1625ca7cb79e7852acf", + "evidence/layer_a/red-none-profile-fixtures/ordinary-pass.json": "117c3c7908c3cdc0d1f66d12a261ae7ed106cdc05b29bf35e42e11b68b846804", + "evidence/layer_a/red-none-profile-fixtures/ordinary-unknown-iterable.json": "4fa5dd75b1b593f26179207492eaa0e5e6fe96d65fa57fffbffb5c653763ca7d", + "evidence/layer_a/red-none-profile-fixtures/return-empty-string.json": "7a9fdcea28c6735d28e930eca795f0df7bd0c7d06426ee26e1c49ffa6b1342c2", + "evidence/layer_a/red-none-profile-fixtures/return-false.json": "493618ff8e19c15d09a9d474ab09c5b8995adc49c89e1b35937212d435e59842", + "evidence/layer_a/red-none-profile-fixtures/return-scalar.json": "e88f72d0f19797092f82cd09584c49a00c7e6898726fc96981c20c0a5b56033d", + "evidence/layer_a/red-none-profile-fixtures/return-zero.json": "223a479500ad03e116a3b8f4ef49227cf94b25151a8ecf7e8494051cd1f00bc5", + "evidence/layer_a/red-none-profile.log": "869f304a7de9e58f20caa314f54a07f54c97495b04a1b899f73ec478eb52ffbb", + "evidence/layer_a/run-new-guard-source-controls.py": "53b40ae1abbd4e856befb289199f924a8db246b51254358c5348e5d1fa6a0be3" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/current-composed-admission.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/current-composed-admission.json new file mode 100644 index 000000000..27dae297a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/current-composed-admission.json @@ -0,0 +1,85 @@ +{ + "actual_repository_G1": "NOT_RUN", + "checker_mutants": { + "current_repair_executions": 0, + "definitions_unchanged": 57, + "reused_predecessor_composition": { + "affected_prior_scope": 19, + "historical_prior_scope": 38 + } + }, + "claim": "finite scoped evidence composed from reusable predecessor and new lazy-body obligations; no fresh full G0 result", + "evidence": { + "final_guard_mutants": "evidence/lazy-body-profile/new-guard-source-controls.json", + "frozen_manifest": "evidence/lazy-body-profile/frozen-manifest.json", + "independent_review": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "normal": "evidence/lazy-body-profile/normal-lazy-controls.log", + "optimized": "evidence/lazy-body-profile/optimized-lazy-controls.log", + "original_method_applicability": "evidence/lazy-body-profile/shared/original-method-shape-applicability.json", + "source_bound_report": "evidence/lazy-body-profile/REPORT.md", + "superseded_type_generation": "evidence/lazy-body-profile/lazy-types-generation/" + }, + "gate": "G0_COMPONENT_COMPOSITION", + "independent_review_sha256": "8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933", + "method_inventory": { + "auditor": 72, + "current": 87, + "fresh_new_methods_normal": 4, + "fresh_new_methods_optimized": 4, + "new_lazy_body_profile": 4, + "predecessor_reused": 83, + "retained_harness": 11 + }, + "new_CI_run": false, + "new_Lean_or_math_run": false, + "new_fixture_observations_per_mode": { + "ERROR": 16, + "KILLED": 1, + "SURVIVED": 1, + "count": 18, + "lazy_sentinels_executed": 0 + }, + "new_full_checker_mutant_run": false, + "new_full_suite_run": false, + "new_grader_controls": { + "final_none_profile_distinct_mutations": 3, + "final_none_profile_mode_executions": 6, + "generation_mode_executions_total": 16, + "initial_type_generation_distinct_mutations": 5, + "initial_type_generation_mode_executions": 10, + "reused_guard_theme_mode_executions": 6, + "reused_unchanged_guard_themes": [ + "pristine lazy method refusal", + "each wraps-linked method layer", + "fresh native coroutine disposal without advancement" + ], + "these_are_distinct_production_mutants": false + }, + "new_method_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "observed_status": "PASS", + "predecessor_composed_receipt": { + "path": "evidence/composed-admission.json", + "scope": "83 methods; inherited 56 affected +27 unaffected; no new execution", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + }, + "provider_distinct_requirement": "tracked separately; this receipt does not claim new provider-distinct credit", + "published_predecessor_file_count": 521, + "published_predecessor_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "schema_version": 1, + "source_sha256": { + "README.md": "38ef29a8d8a3bc41cd52eba41affb499c40475f76c605c019a12e8255f5ab7ea", + "SPEC.md": "f3f72bced46b1713f3c2efc5eddf5835d85670609ca71f27af49a710485cd69b", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + "type": "composed_scoped_admission" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/evidence-index.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/evidence-index.json new file mode 100644 index 000000000..f9c9e0599 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/evidence-index.json @@ -0,0 +1,252 @@ +{ + "files": { + "evidence/layer_a/REPORT.md": "455ff41c5053a43fc14028babf1dcb954c30e4f4b1edd65938e2617dfbcb448b", + "evidence/layer_a/frozen-manifest.json": "ab20f9cffe26dee07210df2cefd03bce18188cc32879486cf2c9bd9775742735", + "evidence/layer_a/frozen/mutation_test.py": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "evidence/layer_a/frozen/tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json": "546a0487b817320cff8a25133b5ee00852a7c5ab4c2cbbaf4732420797fd73d2", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json": "1a9c49e8a6d6cdd6e5646c9a57611303c40dc46d72afbac6554329dc7b26cbf2", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json": "45847f4a4001ced04cf789501e107e0a5fa96e5d83be8f35317c7298ee11fb7a", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json": "d96e11963dc875e2ff8904bda1f204efd2eda75076d99e7e96fcab4c48e6609d", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json": "10ee868a3a1ce9ce55af82d43fcc4d96c0e1c4207bd0974593a876d821627054", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json": "49680bf10b970366faad6c2a54f887d74d4037c0a2b6dcd88b8e98d4b962427b", + "evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json": "0789f0d376f08f6ccc7ece63a6f96addd287e083eaf32bf9cccdbd8f3e32615a", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json": "793b6c856f0ad638cd2ff94cdbc62271082f0151381c5f396beb1026a052fdcc", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json": "e2d19461f0f6e62989af51d4372788953ab4d592d0999369f61b9595f7a2006e", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json": "31cc693cb9e4fbf80bf7221acdde18badd4260e1a5d142eba74f5b1d523d5cd7", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json": "bf77ca2c29670567889cc782c5ca9f9fe337c273e346e758380b7fc1d7d01047", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-false.json": "5175d675e72360866f0b9e213e2b609be700ccc4f137244af20a9579ab9ab677", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json": "81867e3c01aa4a019bce93e151bf7e9cc47cd6cecc04ee34f37de9903421cc5b", + "evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json": "68996708e7d3406d4dbcf84c3ece9a12f2b97076232ffb5142397859ddee00b9", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json": "a9bbdcc3798dd64caf37157be379d25acc9d5a3cd9793e04f8b1f99f9837d895", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json": "a91be2e837d85a775429ba28d02df3e76dcc42d5440d3c713f8f0460804c6c37", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json": "2e455ff69fdd3853059ae3edff08f3e263ee81267d1fdcb856ef627e5e05f6f7", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json": "b742457d9a1f0c6ef23cfdfada3727e56c7807903488806327d5d0b1d37a5e6c", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json": "d9287bddd0970ba4b9798eb39a41076e6faec9b0097955a9ba61c4638b8c1352", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json": "4f2655314c829566c904f84ea54a1ab02d1781473bbae0bf388eedabc986a0cb", + "evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json": "6f4215bf662424e2babe77eda5b5d098afb508ad16bb35461f8864260b7884b6", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json": "2610f92083254af3702c77027744df50c4356fb0f545a092389094b5307dcf55", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json": "b515c26385d560098d6fc9de66b9f37422457f6df6eec542d75a0902019674a8", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json": "49f1c1b4253966d0b154b180b2e0bbe215ee5e47aaa523dfa5af1049d32dcfd5", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json": "f18573ad508dd892b347e78ad17752cd25e1ee3549d737bec5228a698deb9aed", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json": "eea7d35092dc3f57deec300fe0a7e69b89c0d03e5fe6f8fe4b6ab10be5f9347f", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json": "dbe6338cbf3a72737f2692e995ab15801abb9ea5b27f642621b10ee533bd6140", + "evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json": "a9ac153790a7ca3de0ee10cd9b82d5ebf874e0c85b3c85eeffec3864b849c51d", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json": "7071407442ade42001a96700df46ffdd3e4ccf89b8839f241ad25c3e684e40af", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json": "e88f2754afabd0709b2d5849485e4041221a3991bccd5cf717c7669f62f66365", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json": "8b2d18cddeae3b978a75c1237c3e6db7de6ea2a0a80333ac5cf107031d788180", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json": "a4eb5eb2e12d97aac180844ffef572671e9f69dc951dc8edc65ff65cba1758d8", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json": "5c0e6cf470f852d0a1d063b5c1d9706523bfabeb86f017f3de05367c4a5fe2f3", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json": "d36244bc7b02af2414656a22641e9c3143cdfa260bcfb886206f41ae7fbc2dbd", + "evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json": "fef668883385084778005cc9a80145eb560bae184c17d9696a87837a854f9948", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json": "1e7bac7dda4704cf38b4ccd813c03eadd551ec71c5dad27ceb68a78f1a54e7a9", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json": "caacde0586c9f66c72398210da982cffcf4b643f25f9cd913a539d0eac4b8ab1", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json": "eb2b41e9c5c1bf4407787bbe583cf7557cf6d1d277eaeecb0061731356a4d935", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json": "3093c4ecf8019ce58b98bd649b569e1fde0a10956fede08ebaeaa8719657dd26", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json": "7c22fdf23cbbdf616b7ca67e1ff3afa1ec0a8c34881a1d6f6d1b79846cc190d3", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json": "bf9302c233cf02fbb7c4b64b12bdeca1fded6a42b90a30a4c66f93b53c6598ea", + "evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json": "94349d53f897e0153fdc5434ec7ad510ff95868cb7f22e3bbaf71feaef40abb4", + "evidence/layer_a/layer-a-lazy-body.patch": "74c45e0f03610cc52f5a11bf46e141456b16209eb5e70696c274f507ce519f57", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json": "5782bffb030c2547c28cbcbea5af75bc3b4b049ba9245dc3bce78c9553a4ef19", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json": "db92a07efac7c5835fd0217cb6b3e801e3525791278c8c05f2559a0298d358de", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json": "c2c4dae7adf7428defe36e546bf2c191d198472a7486ddd0f632a5a7add64df2", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json": "109cf855dbf3cb0a112ec5e84ef6e8fc38b340cd42218fc495e269d6b0bcf95e", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json": "4119f662f38163dab2281b09b4870fc33a3970a999ce1de2f5a4b805e3f68547", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json": "cae461c8c221abac82cf8dfa5f1ca60c698ab826cdfbd84bdf44b9c4e8972707", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json": "bd564c7cb8db830db209ac68cc465590b3e95ccdaeaf9fdfd78567fa423c23c8", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json": "aeb0d29f91c6f9baffb53def30467609199a009bf43f004545c2e6fdf56a24fe", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json": "7bd87726c3f00bcf1675747093f25754a54133aeba7bd570ba3e0a4c31d4a4e7", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json": "3d324ccda4b8290b4231cc3cdc0c99a0eb396583c2a4019d17e8c28b07283d74", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json": "e68cd6a0bcd718145e7cca2d82006e53d5ef19068b48efcf2979d9cfe615d646", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json": "9b0b25325310aea727ca8487c7a02bcbe35f54c251dc2203b7ffcc1792bfb717", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json": "459f307329fe4c5d685006ea438e0910023597174fae58d7d48e1d62ee114de1", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json": "1a1221a7f8a1be3c6c42855f949720762321fa4a7052a4ff3cc6d9f9482cbf16", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json": "bf62558a75f1ed3927f6a9309ba785a60a396c165b297dde565cafebdc38b0c7", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json": "5a4ed48af34668a150cbbaabdbed807212a1db137c0f420507c2c5bb81a4f2c1", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json": "56e55fbf9f4f8b0e1af3817390fc7aa08a8491da2f26cb0f50116393be79e65f", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json": "4987d3caeb119b1f9bc108c826ddb9ff8ac89dcb9f2a13850087f6d08fc85901", + "evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json": "97fb49ab186bd6dcb9e5efa08dfb5acd335b5bf7fab15b9d70fe649a7b364e86", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json": "a5cbef941c2010e9209307ead48bebfbc13546b9149e9b60aca0e97477e30bfe", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json": "baefb71d5c8d1358ab57a458212d5434c4376b02b54c8e64dc9fae57c9316f89", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json": "66b14b689cdc86cd5b6f8755cc09983d1b3bf30a6a411be3387f6dc505796b7a", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json": "6a9bdf9451c0e68887d373c22aeebb2a48a0bc708c1ca49bc272d45df63a5891", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json": "0689128454c38d6887d3f16044519b0db62b79279035f63bf4265ba050d6af65", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json": "ad79c076eb904ce3f4e09d654d6e0f6d9fa29a7986a927c543073196f9bc4647", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json": "69418b9a562b3580fd2c391116e5943cf2c879d4a4fc17d03d155be16126cbe3", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json": "0b0f08fb3f49dff0ee1ccc5ea9bd333e731e1c46dc800ff3bdbd31392da44d4e", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json": "c276402372cfd3b23f38c0d04cdedaa83887b40791b416675fb009d5739c1fb0", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json": "00375b3018dbb38ed995e0cdf1292d88f0b495624c06643e188b06e99e14ad39", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json": "945f7f31a14926921aa730951d2592d3bf6fcb6ff8698efab0d183c9d09fd9f8", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json": "2bce417c754d5d1c4e8faac6d117e54471a318900fed74d3afe1233816fbaf43", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json": "1cd60a7e04e15a048e4d6442f5717a97b4a8a52559d589f2cc03ec4ecf47f44a", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json": "56761ec13c26959f4e1f4687c4c7c5b466875d1c61ee40234553bf2a56fbe265", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json": "b7e863c69fe7f239e622ad2df4c88c54e770da3be597f0d4f40dc9b22163e161", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json": "9af887cff27efe939bb6259ab2f94a8ac2f386ff36deb7f10bb990ed5642d41a", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json": "34112cfbaa4f193e895e3ff8282c9adcbdbbf73ee4db1deb82d40ff2458033d4", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json": "ab76848c7281e5e1cb9dbd0adbc8bc6bc019899c92e1564db11daa37c805a64d", + "evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json": "6fb59b3869ecb457182a695c1f92bbf7ee0fc49146b1a2a7fb126e3fae6f2d45", + "evidence/layer_a/lazy-types-generation/new-guard-source-controls.json": "238b21383ac2e67c70177e99f722e6514c673b19c92b966cdb915733a03ff6cf", + "evidence/layer_a/lazy-types-generation/normal-accept-custom-awaitable-returns.log": "f98a58d94ea390a8c59d0154b6537d0caa22afb3c199f639fc0408677e826be2", + "evidence/layer_a/lazy-types-generation/normal-accept-lazy-return-objects.log": "096fcb129d15d6538af4ccebcd964e0967f85ff4462e95156a92167bd3a69cd4", + "evidence/layer_a/lazy-types-generation/normal-advance-coroutine-instead-of-close.log": "d3b61f30797121ada03de3d9c516f8612f1da70302863aad4eea4eace1f64798", + "evidence/layer_a/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log": "1af2ad87f3ebf353950cd468af5e4c686228d616c3c58ae91b34cba55d7c4dad", + "evidence/layer_a/lazy-types-generation/normal-fixtures/method-async-generator.json": "f355eab504fa7e9a90de1f6b4de1c41c1497f3478d52b2c02b5d3bcb6ffeea3a", + "evidence/layer_a/lazy-types-generation/normal-fixtures/method-coroutine.json": "8e39b10b04e86d8a6a4179a8982b47ea869a5b7dfd34d4c179a0b38f626ae4ca", + "evidence/layer_a/lazy-types-generation/normal-fixtures/method-generator.json": "9e4c665b333c4e10143053dceb7b15a881400e2a956c0d693a2760961b3b720a", + "evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-pass.json": "f4a5cd3eeadafc96fe72f3a93f118d44ad1d8b0931c9686fde2589877f323517", + "evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json": "1baff3e4f75430c91775f50859a6083de2b0ebc8c4c3be347eb91a6b7494fde2", + "evidence/layer_a/lazy-types-generation/normal-fixtures/return-async-generator.json": "73716271ef8fc91aa4b960548f8ddaad6f889e1e4479d8805f0f6d60812d84d6", + "evidence/layer_a/lazy-types-generation/normal-fixtures/return-coroutine.json": "95955d5978be4ae58fa2cc6728cf3c46afff5b9a1611947b2e991628fa9409e1", + "evidence/layer_a/lazy-types-generation/normal-fixtures/return-custom-awaitable.json": "ed0f0985ca9d14428adcea6f6e86fb2704b6e3708fe0e351c87de4841d4fddfd", + "evidence/layer_a/lazy-types-generation/normal-fixtures/return-generator.json": "b9bb90803b9ec5ac074e4bbe69f049eed5e6d5a3406f60b32f0e0cd66b818399", + "evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-async-generator.json": "f53a2aa84fa9d75dae5845058882060f0c90b17700a6aeaefe59627f91b5e894", + "evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-coroutine.json": "9b7894d1a022b4e2ae2dc9bab58d2f1d6c6a9c3c2baa39685c9035200007ff31", + "evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-generator.json": "db55656e367fd2c59adb60d17fd0f20bb7ab7df9d545e6438cfc58252e1c7a15", + "evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json": "04e20b319fbeb47089411c21157662d8c27d75a10bf37e1fe26a59ec1c2d005c", + "evidence/layer_a/lazy-types-generation/normal-ignore-middle-wraps-layers.log": "407f235bb0052146a12670b95a4ab78936ca5fa8e2b2bde5e62075480f180709", + "evidence/layer_a/lazy-types-generation/normal-lazy-controls.log": "3f74abeb9efd8d2a6b52352b04bd1de7ca472db4d801c143c82763fafc62f250", + "evidence/layer_a/lazy-types-generation/normal-middle-decorator-control.log": "c5b7865767c2d5ff0308b06c1dedad9678a3454f23cdb2c0ebee54784388f872", + "evidence/layer_a/lazy-types-generation/optimized-accept-custom-awaitable-returns.log": "1f8098bd02513f56f5d6b35448ff5dbc2e3d756762c8159ae77acfa739a84253", + "evidence/layer_a/lazy-types-generation/optimized-accept-lazy-return-objects.log": "2d132c375f2e255cd69480a46dfc99fde81f14162353e63f9a020bd05fd6d118", + "evidence/layer_a/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log": "91136f9a8c4166c13d9f3ca1909cb2c580028bfe8f55aaaa830b5b0683d544f3", + "evidence/layer_a/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log": "ad28cdd8b06e6a43298004bb5a4afc3fccff128c3de14eea869ddcc67ab228e7", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/method-async-generator.json": "13a7a7fb21967fec1747247704250250bbe65eefbe416c8af1fe9421a165a4ec", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/method-coroutine.json": "43fd1b427fc448730e589b28a717e62880d0223e1834675c5f20b4b11c778aea", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/method-generator.json": "88800a97edc0003802d83bbb00d8b01b5b3bca64d82d26ac8a4a4c6093952744", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-pass.json": "11a7b6fbe3c5596f2037fbf0a827ce4a3e8efc3280fd983e9a9aea2ffd21b994", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json": "c55ca1d66c138bb71cf5a5360ce1ce61e96cfea42f9b076088dcd28fd58b55a0", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/return-async-generator.json": "b467db6092503d65472540654f38b988c796d645c84a05925c3220c8bc779236", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/return-coroutine.json": "b025ad49024eeb7829a3bbeaac7df8306d5b20102f724ab87c489b30352a7419", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json": "095023623c8c3eaf563f2b64afe3857fabb27dd509556a77a8509612a905be6a", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/return-generator.json": "57ad1c7c704b5a4ca36a8a18f8cdd71990a68bf0278fb27fd0c25a6e96dcd631", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json": "bb05833fa4266a768f4c86477f6466606df3ba5f4a301a9511171a836c390232", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json": "a1ea05da56a0f20ee6af1e402b451f02604a27154ec9c62bece931d21a03fcf1", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-generator.json": "1f64453e0c34dfda710cba521af173125a5303825b4b492cf3f1f6a2d89ca6b7", + "evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json": "cb24b8c483e45c8c0066cb54ec3966034d6423d3c0895450dcc5f868109e32c0", + "evidence/layer_a/lazy-types-generation/optimized-ignore-middle-wraps-layers.log": "8baa23df02a8f17dff43efdb1fd2048fa5552bb91a615ea4d2f8467b6f7d65e3", + "evidence/layer_a/lazy-types-generation/optimized-lazy-controls.log": "593132b829a0d077ae8542b425ef8f786397b6939c7ace83713e9a7fc00a9e40", + "evidence/layer_a/lazy-types-generation/run-new-guard-source-controls.py": "08a41c74058c3887c3eb34a232cd64c1c507cab3d4c8ed504e6c5d50a1ae2cc7", + "evidence/layer_a/lazy-types-generation/source/mutation_test.py": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "evidence/layer_a/lazy-types-generation/source/tests/test_mutation_runner.py": "142dffbcf56e1bfd3f21034f31f484f45954f7b1a381d4f558568b67f1d84ac1", + "evidence/layer_a/mixed-generator-red.log": "24af48646a104c428a673946b736347c5150a49224f6b04c0a128467d5327410", + "evidence/layer_a/new-guard-source-controls.json": "88eefd9ff45f1d386329ab3cb499577bb0e3ab3052c45cecefd582d18ee1a3d9", + "evidence/layer_a/normal-accept-falsey-non-none-returns.log": "51c8bfa5fef9f7bf784166942301065a1b17fc1451c530111e7ca000ad061252", + "evidence/layer_a/normal-accept-non-none-return-objects.log": "b43c342618dd83e53ac33fbf29442f34fbb1bb93e3cd9999ec596e42351fbd5c", + "evidence/layer_a/normal-fixtures/method-async-generator.json": "de1512a42f1746292c09c11068804112cd8a9f2dbcb21194df91299e5d821a2a", + "evidence/layer_a/normal-fixtures/method-coroutine.json": "1a5bf1be54b271406f770e5d594f42ec39ff99dad592eabe5764c989f84071da", + "evidence/layer_a/normal-fixtures/method-generator.json": "7c553235cd2d9fb7acd29bb9de900eb5dadcb634715ff56121971b1accad1a61", + "evidence/layer_a/normal-fixtures/ordinary-none-kill.json": "652f070ff6849beebf49ee1a41432081d3ec893616721c1c7b4325bf806845f6", + "evidence/layer_a/normal-fixtures/ordinary-pass.json": "6895a3589ea6b8b162e6a3f8f52a18bd7db43fd9b2cb63be4f359c52fff5c8d6", + "evidence/layer_a/normal-fixtures/ordinary-unknown-iterable.json": "aaea15b6162a0e2343718c9a840e2526d966fd04fb00f4da63c15e6479b5b624", + "evidence/layer_a/normal-fixtures/return-async-generator.json": "6959998c9a32a0df2be27687b9b06ce7f9851097d1e6b5c6dd8f455b83ae20b4", + "evidence/layer_a/normal-fixtures/return-coroutine.json": "a0f413c3db9574bd9e1bfa96147a580591f9b82922ffe50c98cf398f8e3e06df", + "evidence/layer_a/normal-fixtures/return-custom-awaitable.json": "246f43b508601e2af2090da41f5372f8cc4a0757c1b9b89ae9662166b7c28f32", + "evidence/layer_a/normal-fixtures/return-empty-string.json": "374f9aae7d29f618431b5d5f6ed338dfc7b6363bde770463c33f4327013c50c9", + "evidence/layer_a/normal-fixtures/return-false.json": "1cc554c0e12d4d35fbb31ac247a189dd128ebcfaf13a48400038e8fd76237bc8", + "evidence/layer_a/normal-fixtures/return-generator.json": "e24e634e3dab849f68399cee3ec6d9b2ca9021979d8866f0c2ab21fac098c1db", + "evidence/layer_a/normal-fixtures/return-scalar.json": "0926fa0038d5c8b3447f4f194c3c108351d4b098732a5cb066eec9f73d90d392", + "evidence/layer_a/normal-fixtures/return-zero.json": "240eb9063e732fcd1c3311f9302b9a7ae6d2cdb496b1527af571ff0aa6bc1d47", + "evidence/layer_a/normal-fixtures/wrapped-async-generator.json": "86f1e6d71f6adf59d4aa2dbff348606f068cd9a5025de45b0cef544cf638a544", + "evidence/layer_a/normal-fixtures/wrapped-coroutine.json": "a8883d9110e163a208df3439165fb68c2346adc5a83c6fb21244e8b4be5dce86", + "evidence/layer_a/normal-fixtures/wrapped-generator.json": "b031f6e664cfc8ddc10a8eb555c9f934b3e4bd880922df0576f1e0906f205467", + "evidence/layer_a/normal-fixtures/wrapped-lazy-middle.json": "79f63cbbf6eb2fbc2060e7d5fadbc0dcfd71384661e1e3d939ea0a7740bfe3d4", + "evidence/layer_a/normal-iterate-unknown-return-objects.log": "8dea0357a259fb52b0b9fc16aa64ef526d9e8a9328af0a0cd990b1fe5bc54493", + "evidence/layer_a/normal-lazy-controls.log": "7cd8ca15dd44e1f391431ae906909af507dec8d46c9cf7234155206eb02cf060", + "evidence/layer_a/optimized-accept-falsey-non-none-returns.log": "b8bd6b7b83df7648ddc26b938eb53a7308dd4b49dcdd5e2aa5e218180a67106b", + "evidence/layer_a/optimized-accept-non-none-return-objects.log": "198ffa5f6ec6cfa71544844b5034f9a265f0565308450cffaea2b1d26459986f", + "evidence/layer_a/optimized-fixtures/method-async-generator.json": "00650b9fa99119d8c5ac17523ebbaefa41f0f117bb4b7b739ae24f08a2aed1b9", + "evidence/layer_a/optimized-fixtures/method-coroutine.json": "d60b509a1e124a707a85a8a2c9f181e3cbed8c5ae1fe6d381b3f98906c353baa", + "evidence/layer_a/optimized-fixtures/method-generator.json": "7c11e95f44fa283863c7759d38a702d0659b04d782ba684739ee9a21250b64cb", + "evidence/layer_a/optimized-fixtures/ordinary-none-kill.json": "7f83c0181d3689b19c8c7af63007406717a694a8675096be8fe6b3b48de9e24c", + "evidence/layer_a/optimized-fixtures/ordinary-pass.json": "4d7b6304160cb59b956b8ec870671bb0cb89b1884843aea458c3362970ad127b", + "evidence/layer_a/optimized-fixtures/ordinary-unknown-iterable.json": "cae95759690c785a383153530d40814939dfccd734ee06e1a2de247df1ba7f45", + "evidence/layer_a/optimized-fixtures/return-async-generator.json": "8ceba34b0176ef1d9a973dc7eb2d24dc9d43be7f4f0d3906b1abdc0f48c5a99d", + "evidence/layer_a/optimized-fixtures/return-coroutine.json": "ef31f394f904a3665f4bc820d1f6a699cad5bb9bb6b882c9393bc916034d63d3", + "evidence/layer_a/optimized-fixtures/return-custom-awaitable.json": "9dfa05e9b825458c31bee8b3a29a837e41d793df3cba0d1322714d82e66b0eff", + "evidence/layer_a/optimized-fixtures/return-empty-string.json": "03bcf3deb54fc191773573922cedc74fb84578a899681506d00f399c0f5fc090", + "evidence/layer_a/optimized-fixtures/return-false.json": "c5413e6e11e4943a34e6436a6170f00e281dff75986ef218faf0a5849eae26bc", + "evidence/layer_a/optimized-fixtures/return-generator.json": "27390a1a1314e7d41b2e8e46c00c9380b07788cd11194e449d0bc32513b66c3a", + "evidence/layer_a/optimized-fixtures/return-scalar.json": "9420353adf8a5c70c000fadfe922109481d31c2d19cfac7c41857f8361733855", + "evidence/layer_a/optimized-fixtures/return-zero.json": "719b76ba274ecc1046e78fc7b6e61fd364c1c024ffc4ce0a3a76788de6e6fb4c", + "evidence/layer_a/optimized-fixtures/wrapped-async-generator.json": "ab38d0f65fce4e1253a03652c5f238605b912ffed7654957ba9e442dd475befb", + "evidence/layer_a/optimized-fixtures/wrapped-coroutine.json": "768b18d7eed8f0c37ac1e824586bea239b0e35e3017e75ecf67d57f995657ee6", + "evidence/layer_a/optimized-fixtures/wrapped-generator.json": "c5f964ba7c22a2f56edcbfa39b8c0e0668fd3f167a20da42dbbde26745f85979", + "evidence/layer_a/optimized-fixtures/wrapped-lazy-middle.json": "534f373f115d2819a4a4b3fe54b77ab16a39f592f5fd432ba68323878ff4ac62", + "evidence/layer_a/optimized-iterate-unknown-return-objects.log": "1a5ffaa1242c35792165c948c1f9710e153a52d6dffa22a0e748e4a892a0bd03", + "evidence/layer_a/optimized-lazy-controls.log": "d09ea53a8f32dd6933e707254eb6a7c1f9f7c93357ff0059c707cd217e57dd82", + "evidence/layer_a/red-fixtures/method-async-generator.json": "59a57a8c94922dda3ec7faf26f9bd92a9abbbd7c0a55181cebf7ee6b99ab7b63", + "evidence/layer_a/red-fixtures/method-coroutine.json": "4fe1fd1a82f2063b8dcdcc951759fa97b428c2d6ede31ffa04ffe107518d5882", + "evidence/layer_a/red-fixtures/method-generator.json": "82897e6ec4d2b4824a84b61dc1afdc43cdaeeb3d288a93e94eeb4737fcfcf68e", + "evidence/layer_a/red-fixtures/ordinary-pass.json": "27e348122d9f750259b0fd11bde6804094a9781b313e930419eafbea4bff674e", + "evidence/layer_a/red-fixtures/ordinary-unknown-iterable.json": "73a67ab0b8deea5504da9eec393dfdef75f73945b5eb8d1e8160df65d2e52b84", + "evidence/layer_a/red-fixtures/return-async-generator.json": "b5754d4ddd057e4f0c2063704c3d841555feb8bfc79440a96f614eb29b1290df", + "evidence/layer_a/red-fixtures/return-coroutine.json": "1b7470881d93bced1254e086cdf063b6e6c254efc4a260faf40aff39575b793a", + "evidence/layer_a/red-fixtures/return-custom-awaitable.json": "f7d42f3a7573c73784e15f296ad1152671c47102247d71a945a5b4e41130b9ed", + "evidence/layer_a/red-fixtures/return-generator.json": "5d9d154747be2787ddea4ed91fc54277b80273503ae49359646ab825143bc033", + "evidence/layer_a/red-fixtures/wrapped-async-generator.json": "738e717f0936b6310e2ee037d85a29f688d88aa94db68d1a7a44cfa1d1f168c9", + "evidence/layer_a/red-fixtures/wrapped-coroutine.json": "c72bd10145752b0e17304b31e0c23c24cce8f720c26f51712c39c5bb91e4bcb7", + "evidence/layer_a/red-fixtures/wrapped-generator.json": "fddb376a2660fba284666764572753848fc5ee984fd55b2b6d4cea6d61ec6b09", + "evidence/layer_a/red-lazy-controls.log": "8f1c52e4ffc6fb9285c3b6ebf422c33887aa51356406a173a123aa31d9bb0334", + "evidence/layer_a/red-mixed-generator-false-kill.json": "f3763817ae55ae39210c270a44a36b70acf524d5285331e9efc78c4470ae834a", + "evidence/layer_a/red-none-profile-fixtures/ordinary-none-kill.json": "8cb1f8cd41f85cb4762e23aaac3b7cc11f309fdf9d56c1625ca7cb79e7852acf", + "evidence/layer_a/red-none-profile-fixtures/ordinary-pass.json": "117c3c7908c3cdc0d1f66d12a261ae7ed106cdc05b29bf35e42e11b68b846804", + "evidence/layer_a/red-none-profile-fixtures/ordinary-unknown-iterable.json": "4fa5dd75b1b593f26179207492eaa0e5e6fe96d65fa57fffbffb5c653763ca7d", + "evidence/layer_a/red-none-profile-fixtures/return-empty-string.json": "7a9fdcea28c6735d28e930eca795f0df7bd0c7d06426ee26e1c49ffa6b1342c2", + "evidence/layer_a/red-none-profile-fixtures/return-false.json": "493618ff8e19c15d09a9d474ab09c5b8995adc49c89e1b35937212d435e59842", + "evidence/layer_a/red-none-profile-fixtures/return-scalar.json": "e88f72d0f19797092f82cd09584c49a00c7e6898726fc96981c20c0a5b56033d", + "evidence/layer_a/red-none-profile-fixtures/return-zero.json": "223a479500ad03e116a3b8f4ef49227cf94b25151a8ecf7e8494051cd1f00bc5", + "evidence/layer_a/red-none-profile.log": "869f304a7de9e58f20caa314f54a07f54c97495b04a1b899f73ec478eb52ffbb", + "evidence/layer_a/run-new-guard-source-controls.py": "53b40ae1abbd4e856befb289199f924a8db246b51254358c5348e5d1fa6a0be3" + }, + "final_guard_source_mutants": { + "clean_assertion_kills": 6, + "distinct": 3, + "modes": [ + "normal", + "optimized" + ] + }, + "fixtures": { + "normal": { + "fixture_count": 18, + "lazy_sentinels_executed": 0, + "optimize_values": [ + 0 + ], + "outcomes": { + "ERROR": 16, + "KILLED": 1, + "SURVIVED": 1 + } + }, + "optimized": { + "fixture_count": 18, + "lazy_sentinels_executed": 0, + "optimize_values": [ + 1 + ], + "outcomes": { + "ERROR": 16, + "KILLED": 1, + "SURVIVED": 1 + } + } + }, + "math_or_lean_replayed": false, + "old_lifecycle_tests_replayed": false, + "original_checker_mutants_replayed": false, + "original_checker_source_controls_replayed": false, + "reused_guard_source_mutants": { + "code_paths": [ + "ordinary_sync_method", + "all wraps-linked function layers", + "fresh native coroutine close without advancement" + ], + "distinct": 3, + "modes": [ + "normal", + "optimized" + ] + }, + "scope": "new lazy-body/None-return obligations only" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen-manifest.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen-manifest.json new file mode 100644 index 000000000..8d8e35059 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen-manifest.json @@ -0,0 +1,24 @@ +{ + "files": { + "mutation_test.py": { + "baseline_sha256": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "frozen_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f" + }, + "tests/test_mutation_runner.py": { + "baseline_sha256": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d", + "frozen_sha256": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + } + }, + "mutation_definitions_unchanged": true, + "new_test_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "new_test_method_count": 4, + "old_classes_unchanged": true, + "patch_sha256": "74c45e0f03610cc52f5a11bf46e141456b16209eb5e70696c274f507ce519f57", + "retained_existing_harness_methods": 11, + "retained_existing_lifecycle_methods": 8 +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen/mutation_test.py new file mode 100644 index 000000000..576ee6193 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen/mutation_test.py @@ -0,0 +1,467 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,selected,invalid=inspect_test_population(suite) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + setattr(test,method,body) + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=unittest.TextTestRunner(stream=stream,verbosity=2,resultclass=PhaseResult).run(suite) + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=unittest.TestLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen/tests/test_mutation_runner.py new file mode 100644 index 000000000..1d1e471d3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/frozen/tests/test_mutation_runner.py @@ -0,0 +1,266 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +import json +import os +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +class LifecycleHarnessRules(unittest.TestCase): + """Catch false kills from lifecycle assertions and incomplete body execution.""" + + def run_fixture(self, source, transform=None): + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + for name in ('auditor.py','source_checks.py','canonical_lean.py'): + (root/name).write_text('fixture_source = True\n') + (root/'tests/test_auditor.py').write_text(source) + previous=mutation_test.HERE + try: + mutation_test.HERE=root + return mutation_test.run_one('fixture','source_checks.py',transform or (lambda s:s),root/'logs') + finally: + mutation_test.HERE=previous + + def test_body_assertion_kills_and_identity_survives(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body sentinel")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']) + + def test_setup_teardown_cleanup_assertions_cannot_kill(self): + fixtures=[ + ' def setUp(self): self.fail("setup")\n def test_one(self): pass\n', + ' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n', + ' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n', + ' def _callTestMethod(self, method): self.fail("dispatch hook")\n def test_one(self): pass\n', + ' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup")\n', + ' @classmethod\n def setUpClass(cls): raise AssertionError("class setup")\n def test_one(self): pass\n', + ' def test_one(self): pass\n @classmethod\n def tearDownClass(cls): raise AssertionError("class teardown")\n', + ' def test_one(self): self.addClassCleanup(self.fail,"class cleanup")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_errors_skips_expected_failures_and_subtests_are_ambiguous(self): + fixtures=[ + ' def test_one(self): raise RuntimeError("body error")\n', + ' @unittest.skip("skip")\n def test_one(self): pass\n', + ' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n', + ' @unittest.expectedFailure\n def test_one(self): pass\n', + ' def setUp(self):\n with self.subTest(x=1): self.fail("setup subtest")\n def test_one(self): pass\n', + ' def test_one(self):\n with self.subTest(x=1): raise RuntimeError("subtest error")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_body_scoped_subtests_have_exact_parent_assertion_events(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n for x in (1,2):\n with self.subTest(x=x): self.fail("subtest body")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['subtests'],2) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']*2) + self.assertEqual(killed['tests']['body_finished_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + + def test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected(self): + fixtures=[ + 'import unittest\ndef load_tests(loader, tests, pattern): return unittest.TestSuite()\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n', + 'raise RuntimeError("import sentinel")\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n', + 'import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n', + ] + for fixture in fixtures: + with self.subTest(fixture=fixture): + value=self.run_fixture(fixture) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_assertion_event_provenance_rejects_duplicate_direct_failures(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n')['tests'] + forged=copy.deepcopy(value);forged['assertion_failures']=2 + forged['body_assertion_ids']=['test_auditor.C.test_one']*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + forged['assertion_events']=[{'id':'test_auditor.C.test_one','source':'direct'}]*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + + def test_expected_population_is_bound_before_mutation(self): + source='import unittest\nimport source_checks\nclass C(unittest.TestCase):\n def test_one(self): pass\n def test_two(self): self.fail("wrong population")\ndef load_tests(loader, tests, pattern):\n return unittest.TestSuite([C("test_one" if source_checks.fixture_source else "test_two")])\n' + result=self.run_fixture(source,lambda s:s.replace('fixture_source = True','fixture_source = False')) + self.assertEqual(result['outcome'],'ERROR',result) + self.assertEqual(result['expected_ids'],['test_auditor.C.test_one']) + self.assertEqual(result['tests']['selected_ids'],['test_auditor.C.test_two']) + + def test_missing_forged_or_noninteger_receipts_fail_closed(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n') + trusted=value.get('tests',{}) + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + self.assertEqual(mutation_test.classify_test_result(trusted,1,expected_ids=['test_auditor.C.test_other']),'ERROR') + duplicate=copy.deepcopy(trusted) + for key in ('selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids'): + duplicate[key]*=2 + duplicate['tests_run']=2;duplicate['assertion_failures']=2 + duplicate['assertion_events']=[{'id':'test_auditor.C.test_one','source':'subtest'}]*2 + duplicate['subtests']=2 + duplicate['subtest_events']=[{'id':'test_auditor.C.test_one','phase':'body','outcome':'assertion'}]*2 + self.assertEqual(mutation_test.classify_test_result(duplicate,1),'ERROR') + for field in ('receipt_schema','selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids','invalid_population','subtests','subtest_events','assertion_events','lifecycle_failures'): + with self.subTest(missing=field): + forged=copy.deepcopy(trusted);forged.pop(field,None) + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field in ('tests_run','assertion_failures','errors','skipped','expected_failures','unexpected_successes','lifecycle_failures','subtests'): + with self.subTest(noninteger=field): + forged=copy.deepcopy(trusted);forged[field]=True + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field, replacement in [('started_ids',[]),('body_finished_ids',[]),('body_entered_ids',['test_auditor.C.test_one']*2),('body_assertion_ids',['forged.method']),('selected_ids',['test_auditor.C.test_one']*2),('invalid_population',['forged']),('lifecycle_failures',1),('subtests',1),('successful',1)]: + with self.subTest(forged=field): + forged=copy.deepcopy(trusted);forged[field]=replacement + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + subtest=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): self.fail("body")\n')['tests'] + for replacement in ({'id':'test_auditor.C.test_one','phase':'cleanup','outcome':'assertion'}, + {'id':'forged.method','phase':'body','outcome':'assertion'}, + {'id':'test_auditor.C.test_one','phase':'body','outcome':'error'}): + with self.subTest(subtest_event=replacement): + forged=copy.deepcopy(subtest);forged['subtest_events']=[replacement] + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + +class LazyBodyHarnessRules(unittest.TestCase): + """Lazy call creation cannot satisfy synchronous selected-body execution.""" + + def run_lazy_fixture(self,label,body): + with tempfile.TemporaryDirectory() as temporary: + sentinel=Path(temporary)/'lazy-executed' + ordinary=Path(temporary)/'ordinary-executed' + source=('from pathlib import Path\nimport unittest\nimport functools\n' + +'sentinel=Path('+repr(str(sentinel))+')\n' + +'ordinary=Path('+repr(str(ordinary))+')\n'+body) + value=LifecycleHarnessRules.run_fixture(self,source) + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':source, + 'lazy_sentinel_executed':sentinel.exists(), + 'ordinary_sentinel_executed':ordinary.exists(),'receipt':value} + destination=os.environ.get('CBZ_LAZY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return record + + def test_sync_bodies_require_none_and_refuse_other_returns_without_iteration(self): + passed=self.run_lazy_fixture('ordinary-pass','class C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['receipt']['outcome'],'SURVIVED',passed) + killed=self.run_lazy_fixture('ordinary-none-kill', + 'class C(unittest.TestCase):\n def test_a_return(self): return None\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(killed['receipt']['outcome'],'KILLED',killed) + for label,expression in [('zero','0'),('false','False'),('empty-string',"''"),('scalar','7')]: + with self.subTest(value=label): + record=self.run_lazy_fixture('return-'+label,'class C(unittest.TestCase):\n' + +' def test_a_return(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + unknown=self.run_lazy_fixture('ordinary-unknown-iterable', + 'class UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\n' + 'class C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(unknown['receipt']['outcome'],'ERROR',unknown) + self.assertFalse(unknown['lazy_sentinel_executed'],unknown) + self.assertTrue(unknown['ordinary_sentinel_executed'],unknown) + + def test_mixed_lazy_function_shapes_are_refused_before_any_body(self): + methods=[('generator',' def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n'), + ('async-generator',' async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('method-'+label,'class C(unittest.TestCase):\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_wraps_decorated_lazy_functions_are_refused_at_population(self): + decorator=('def transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\n' + 'def lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\n') + methods=[('generator',' def test_a_lazy(self):\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n return None\n'), + ('async-generator',' async def test_a_lazy(self):\n yield 1\n'), + ('lazy-middle',' @lazy_middle\n def test_a_lazy(self): pass\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('wrapped-'+label,decorator+'class C(unittest.TestCase):\n @transparent\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): + returns=[('generator','def make_lazy():\n sentinel.write_text("generator")\n yield 1\n','make_lazy()'), + ('coroutine','async def make_lazy():\n sentinel.write_text("coroutine")\n','make_lazy()'), + ('async-generator','async def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\n','make_lazy()'), + ('custom-awaitable','class CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\n','CustomAwaitable()')] + for label,definitions,expression in returns: + with self.subTest(shape=label): + record=self.run_lazy_fixture('return-'+label,definitions+'class C(unittest.TestCase):\n' + +' def test_a_lazy(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + self.assertTrue(record['receipt']['tests']['invalid_population'],record) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json new file mode 100644 index 000000000..ad6955eab --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpvl38p7i1/lazy-executed')\nordinary=Path('/tmp/tmpvl38p7i1/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp38xxzwwx/logs/fixture.log", + "log_sha256": "0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json new file mode 100644 index 000000000..5e5144744 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpgglj0o94/lazy-executed')\nordinary=Path('/tmp/tmpgglj0o94/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmpj514haqx/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json new file mode 100644 index 000000000..3fff19f4b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpvqhz5wbw/lazy-executed')\nordinary=Path('/tmp/tmpvqhz5wbw/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpjgd88dgj/logs/fixture.log", + "log_sha256": "c5726edfd5a29ead693e735d408f9701ed8ef855ed64dbdd80d89f67ff1b013d", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json new file mode 100644 index 000000000..474f9fedb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpjupysvvv/lazy-executed')\nordinary=Path('/tmp/tmpjupysvvv/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpassypybf/logs/fixture.log", + "log_sha256": "0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json new file mode 100644 index 000000000..bad20a39f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp9yksx6g3/lazy-executed')\nordinary=Path('/tmp/tmp9yksx6g3/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpa56bl4ic/logs/fixture.log", + "log_sha256": "0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json new file mode 100644 index 000000000..99e920726 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpsztr3l2q/lazy-executed')\nordinary=Path('/tmp/tmpsztr3l2q/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp1gft7jbe/logs/fixture.log", + "log_sha256": "0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json new file mode 100644 index 000000000..00f372f94 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp7vzg8o23/lazy-executed')\nordinary=Path('/tmp/tmp7vzg8o23/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpqu919qp0/logs/fixture.log", + "log_sha256": "0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json new file mode 100644 index 000000000..7c1ce5c19 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpsafhopbg/lazy-executed')\nordinary=Path('/tmp/tmpsafhopbg/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmptqx9dxcr/logs/fixture.log", + "log_sha256": "8793e912b707958c35c88c7970ad9f1e7500fb42bb91d39c38f5c11a1d48832c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json new file mode 100644 index 000000000..f80892d32 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpdrc75ddu/lazy-executed')\nordinary=Path('/tmp/tmpdrc75ddu/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmpdmm7cybv/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json new file mode 100644 index 000000000..3078de0cd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp_k691kiu/lazy-executed')\nordinary=Path('/tmp/tmp_k691kiu/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpyr9zig_x/logs/fixture.log", + "log_sha256": "6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json new file mode 100644 index 000000000..5d834a209 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplnesn4us/lazy-executed')\nordinary=Path('/tmp/tmplnesn4us/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpg72p76jy/logs/fixture.log", + "log_sha256": "8793e912b707958c35c88c7970ad9f1e7500fb42bb91d39c38f5c11a1d48832c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-false.json new file mode 100644 index 000000000..76ce38e45 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-false.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmppgnl1m77/lazy-executed')\nordinary=Path('/tmp/tmppgnl1m77/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpoytcnfvy/logs/fixture.log", + "log_sha256": "6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json new file mode 100644 index 000000000..3d1a78dfc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp1hnl6byp/lazy-executed')\nordinary=Path('/tmp/tmp1hnl6byp/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp_l4riha6/logs/fixture.log", + "log_sha256": "6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json new file mode 100644 index 000000000..b455b6311 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp82249x9r/lazy-executed')\nordinary=Path('/tmp/tmp82249x9r/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp2u_onkgi/logs/fixture.log", + "log_sha256": "6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json new file mode 100644 index 000000000..16eb70f21 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp4cn81mgb/lazy-executed')\nordinary=Path('/tmp/tmp4cn81mgb/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp58d612ke/logs/fixture.log", + "log_sha256": "0994d013cff40e3aa2354dee3f92bf93cf0e7c8cd448bf765253aadd9d3cdecc", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-v52cplk7/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json new file mode 100644 index 000000000..7e7b5a92a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmps8se0k67/lazy-executed')\nordinary=Path('/tmp/tmps8se0k67/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmphgvkuv5s/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json new file mode 100644 index 000000000..a61ada1cd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpe5ff7z0u/lazy-executed')\nordinary=Path('/tmp/tmpe5ff7z0u/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": true, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmprr642moy/logs/fixture.log", + "log_sha256": "0994d013cff40e3aa2354dee3f92bf93cf0e7c8cd448bf765253aadd9d3cdecc", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-v52cplk7/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json new file mode 100644 index 000000000..b2bf42fa0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp27gypnpx/lazy-executed')\nordinary=Path('/tmp/tmp27gypnpx/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp1g04h_er/logs/fixture.log", + "log_sha256": "0994d013cff40e3aa2354dee3f92bf93cf0e7c8cd448bf765253aadd9d3cdecc", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-v52cplk7/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json new file mode 100644 index 000000000..3553dd62e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp4keixjb8/lazy-executed')\nordinary=Path('/tmp/tmp4keixjb8/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmptcnu0cti/logs/fixture.log", + "log_sha256": "63b02d10fc895f73509daebe3292e8175ff9355a64174fa1c474ba983ef9c8ba", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-v52cplk7/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json new file mode 100644 index 000000000..880459b10 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpuxpm5fcw/lazy-executed')\nordinary=Path('/tmp/tmpuxpm5fcw/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp5udisode/logs/fixture.log", + "log_sha256": "0994d013cff40e3aa2354dee3f92bf93cf0e7c8cd448bf765253aadd9d3cdecc", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-v52cplk7/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json new file mode 100644 index 000000000..c46876548 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpzmn71mhn/lazy-executed')\nordinary=Path('/tmp/tmpzmn71mhn/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp41qyo8j2/logs/fixture.log", + "log_sha256": "0994d013cff40e3aa2354dee3f92bf93cf0e7c8cd448bf765253aadd9d3cdecc", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-v52cplk7/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json new file mode 100644 index 000000000..912283f56 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp859e4e9t/lazy-executed')\nordinary=Path('/tmp/tmp859e4e9t/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpibxctjql/logs/fixture.log", + "log_sha256": "41418d9da1da9ecfa07134450d3e1fe1b23617fb962534690d9cfd1d2e109ec9", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json new file mode 100644 index 000000000..f32f4b768 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp6riql9d7/lazy-executed')\nordinary=Path('/tmp/tmp6riql9d7/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmp2ujtj07g/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json new file mode 100644 index 000000000..577d41645 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplvqhfvau/lazy-executed')\nordinary=Path('/tmp/tmplvqhfvau/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpx76x6916/logs/fixture.log", + "log_sha256": "f05634f22d1c09a6bc45315c1840f2f5557a7fd05c503c77e6ff1b1dcb67edbd", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json new file mode 100644 index 000000000..b60e9b07b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpy0kcu0gl/lazy-executed')\nordinary=Path('/tmp/tmpy0kcu0gl/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpvcwr96xv/logs/fixture.log", + "log_sha256": "f05634f22d1c09a6bc45315c1840f2f5557a7fd05c503c77e6ff1b1dcb67edbd", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json new file mode 100644 index 000000000..e9ac4d6a3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpjzcmq_9x/lazy-executed')\nordinary=Path('/tmp/tmpjzcmq_9x/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmphfxyb0t6/logs/fixture.log", + "log_sha256": "41418d9da1da9ecfa07134450d3e1fe1b23617fb962534690d9cfd1d2e109ec9", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json new file mode 100644 index 000000000..fdab52d55 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmprht4m3zw/lazy-executed')\nordinary=Path('/tmp/tmprht4m3zw/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp0p33ih_m/logs/fixture.log", + "log_sha256": "f05634f22d1c09a6bc45315c1840f2f5557a7fd05c503c77e6ff1b1dcb67edbd", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json new file mode 100644 index 000000000..8529bf932 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp_t8f3j5z/lazy-executed')\nordinary=Path('/tmp/tmp_t8f3j5z/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpm2q7nzik/logs/fixture.log", + "log_sha256": "f05634f22d1c09a6bc45315c1840f2f5557a7fd05c503c77e6ff1b1dcb67edbd", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json new file mode 100644 index 000000000..1a7637073 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmps0wh952q/lazy-executed')\nordinary=Path('/tmp/tmps0wh952q/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpkytx3nfb/logs/fixture.log", + "log_sha256": "dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json new file mode 100644 index 000000000..9a3bd5d40 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpt0p6tow2/lazy-executed')\nordinary=Path('/tmp/tmpt0p6tow2/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmp4928hdjp/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json new file mode 100644 index 000000000..1ebbe697f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp5pprvv_l/lazy-executed')\nordinary=Path('/tmp/tmp5pprvv_l/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp9p4dgo5a/logs/fixture.log", + "log_sha256": "dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json new file mode 100644 index 000000000..39719ced9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpchxmgdmg/lazy-executed')\nordinary=Path('/tmp/tmpchxmgdmg/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpwzk4mm0m/logs/fixture.log", + "log_sha256": "370b3710049b1c6a5ff247ad715ee4a0dfa80e9caa3fcb90be1e1067feea38c5", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json new file mode 100644 index 000000000..544bca705 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp2utnody9/lazy-executed')\nordinary=Path('/tmp/tmp2utnody9/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp7phx9f3b/logs/fixture.log", + "log_sha256": "370b3710049b1c6a5ff247ad715ee4a0dfa80e9caa3fcb90be1e1067feea38c5", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json new file mode 100644 index 000000000..73fa8d4d3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpt7u24gks/lazy-executed')\nordinary=Path('/tmp/tmpt7u24gks/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpmq_xtzgh/logs/fixture.log", + "log_sha256": "dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json new file mode 100644 index 000000000..cd0b81e94 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpv13x9tlu/lazy-executed')\nordinary=Path('/tmp/tmpv13x9tlu/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpdw6kz_fp/logs/fixture.log", + "log_sha256": "dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json new file mode 100644 index 000000000..5eb2b76b0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpjfdhbpbz/lazy-executed')\nordinary=Path('/tmp/tmpjfdhbpbz/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpr990jzy2/logs/fixture.log", + "log_sha256": "83bfa1ccd97cfe81af52efb4dd8b226ff92dd6f6eb0927792fb55de44af649e1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-csaccz6w/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json new file mode 100644 index 000000000..dab4bdcb2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplrpm5fiz/lazy-executed')\nordinary=Path('/tmp/tmplrpm5fiz/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmps2r3ig6_/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json new file mode 100644 index 000000000..0db142c95 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmptw40psyu/lazy-executed')\nordinary=Path('/tmp/tmptw40psyu/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": true, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp09eyl26_/logs/fixture.log", + "log_sha256": "83bfa1ccd97cfe81af52efb4dd8b226ff92dd6f6eb0927792fb55de44af649e1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-csaccz6w/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json new file mode 100644 index 000000000..0bf18494b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpymkadii2/lazy-executed')\nordinary=Path('/tmp/tmpymkadii2/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp1figwfq4/logs/fixture.log", + "log_sha256": "c82776a9c6476f2b7342153a34c56bbd1d55fd6f28ea00cd270dc37341d4f80a", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-csaccz6w/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json new file mode 100644 index 000000000..20883d288 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpc47si2u0/lazy-executed')\nordinary=Path('/tmp/tmpc47si2u0/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp6qg3i7l_/logs/fixture.log", + "log_sha256": "c82776a9c6476f2b7342153a34c56bbd1d55fd6f28ea00cd270dc37341d4f80a", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-csaccz6w/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json new file mode 100644 index 000000000..c2f5a6c65 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpmuvc9axj/lazy-executed')\nordinary=Path('/tmp/tmpmuvc9axj/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp90tohbrg/logs/fixture.log", + "log_sha256": "83bfa1ccd97cfe81af52efb4dd8b226ff92dd6f6eb0927792fb55de44af649e1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-csaccz6w/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json new file mode 100644 index 000000000..b20fa6dfa --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplkxtmvat/lazy-executed')\nordinary=Path('/tmp/tmplkxtmvat/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpan368xf_/logs/fixture.log", + "log_sha256": "83bfa1ccd97cfe81af52efb4dd8b226ff92dd6f6eb0927792fb55de44af649e1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-csaccz6w/mutation_test.py\", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/layer-a-lazy-body.patch b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/layer-a-lazy-body.patch new file mode 100644 index 000000000..c42640097 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/layer-a-lazy-body.patch @@ -0,0 +1,189 @@ +--- a/tools/layer_a/mutation_test.py ++++ b/tools/layer_a/mutation_test.py +@@ -6,6 +6,7 @@ + import hashlib + import functools + import io ++import inspect + import json + import os + from pathlib import Path +@@ -164,6 +165,24 @@ + return 'ERROR' + + ++def ordinary_sync_method(method): ++ """Only ordinary synchronous methods, including every wraps-linked layer.""" ++ try: ++ unwrapped=inspect.unwrap(method) ++ except (ValueError,TypeError): ++ return False ++ current=method ++ while True: ++ if not (inspect.isfunction(current) or inspect.ismethod(current)): ++ return False ++ if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) ++ or inspect.isasyncgenfunction(current)): ++ return False ++ if current is unwrapped: ++ return True ++ current=getattr(current,'__wrapped__',unwrapped) ++ ++ + def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): +@@ -180,7 +199,7 @@ + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) +- if (type(method) is not str or not callable(getattr(test,method,None)) ++ if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) +@@ -196,6 +215,8 @@ + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. ++ Selected methods must be ordinary synchronous methods and return None; ++ obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], +@@ -205,6 +226,11 @@ + population,selected,invalid=inspect_test_population(suite) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid ++ if invalid: ++ receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, ++ expected_failures=0,unexpected_successes=0,successful=False, ++ log='Refused unsupported selected test population before execution.\n') ++ return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue +@@ -229,7 +255,16 @@ + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: +- return _original(*args,**kwargs) ++ value=_original(*args,**kwargs) ++ if value is not None: ++ receipt['invalid_population'].append('non-None return from selected method: '+_id) ++ # Closing a fresh native coroutine does not enter its body. ++ # Never close custom awaitables or advance any lazy object. ++ if (inspect.iscoroutine(value) ++ and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): ++ value.close() ++ return None ++ return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise +--- a/tools/layer_a/tests/test_mutation_runner.py ++++ b/tools/layer_a/tests/test_mutation_runner.py +@@ -1,5 +1,7 @@ + """The runner must execute source mutants, and cannot infer a kill from broken syntax.""" + import importlib.util ++import json ++import os + from pathlib import Path + import sys + import tempfile +@@ -170,5 +172,95 @@ + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + ++class LazyBodyHarnessRules(unittest.TestCase): ++ """Lazy call creation cannot satisfy synchronous selected-body execution.""" ++ ++ def run_lazy_fixture(self,label,body): ++ with tempfile.TemporaryDirectory() as temporary: ++ sentinel=Path(temporary)/'lazy-executed' ++ ordinary=Path(temporary)/'ordinary-executed' ++ source=('from pathlib import Path\nimport unittest\nimport functools\n' ++ +'sentinel=Path('+repr(str(sentinel))+')\n' ++ +'ordinary=Path('+repr(str(ordinary))+')\n'+body) ++ value=LifecycleHarnessRules.run_fixture(self,source) ++ record={'label':label,'optimize':sys.flags.optimize,'fixture_source':source, ++ 'lazy_sentinel_executed':sentinel.exists(), ++ 'ordinary_sentinel_executed':ordinary.exists(),'receipt':value} ++ destination=os.environ.get('CBZ_LAZY_CONTROL_EVIDENCE') ++ if destination: ++ out=Path(destination);out.mkdir(parents=True,exist_ok=True) ++ (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') ++ return record ++ ++ def test_sync_bodies_require_none_and_refuse_other_returns_without_iteration(self): ++ passed=self.run_lazy_fixture('ordinary-pass','class C(unittest.TestCase):\n def test_one(self): pass\n') ++ self.assertEqual(passed['receipt']['outcome'],'SURVIVED',passed) ++ killed=self.run_lazy_fixture('ordinary-none-kill', ++ 'class C(unittest.TestCase):\n def test_a_return(self): return None\n' ++ ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') ++ self.assertEqual(killed['receipt']['outcome'],'KILLED',killed) ++ for label,expression in [('zero','0'),('false','False'),('empty-string',"''"),('scalar','7')]: ++ with self.subTest(value=label): ++ record=self.run_lazy_fixture('return-'+label,'class C(unittest.TestCase):\n' ++ +' def test_a_return(self): return '+expression+'\n' ++ +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') ++ self.assertEqual(record['receipt']['outcome'],'ERROR',record) ++ self.assertFalse(record['lazy_sentinel_executed'],record) ++ self.assertTrue(record['ordinary_sentinel_executed'],record) ++ unknown=self.run_lazy_fixture('ordinary-unknown-iterable', ++ 'class UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\n' ++ 'class C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n' ++ ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') ++ self.assertEqual(unknown['receipt']['outcome'],'ERROR',unknown) ++ self.assertFalse(unknown['lazy_sentinel_executed'],unknown) ++ self.assertTrue(unknown['ordinary_sentinel_executed'],unknown) ++ ++ def test_mixed_lazy_function_shapes_are_refused_before_any_body(self): ++ methods=[('generator',' def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n'), ++ ('coroutine',' async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n'), ++ ('async-generator',' async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n')] ++ for label,method in methods: ++ with self.subTest(shape=label): ++ record=self.run_lazy_fixture('method-'+label,'class C(unittest.TestCase):\n'+method+ ++ ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') ++ self.assertEqual(record['receipt']['outcome'],'ERROR',record) ++ self.assertFalse(record['lazy_sentinel_executed'],record) ++ self.assertFalse(record['ordinary_sentinel_executed'],record) ++ self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) ++ ++ def test_wraps_decorated_lazy_functions_are_refused_at_population(self): ++ decorator=('def transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' ++ ' sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\n' ++ 'def lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' ++ ' sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\n') ++ methods=[('generator',' def test_a_lazy(self):\n yield 1\n'), ++ ('coroutine',' async def test_a_lazy(self):\n return None\n'), ++ ('async-generator',' async def test_a_lazy(self):\n yield 1\n'), ++ ('lazy-middle',' @lazy_middle\n def test_a_lazy(self): pass\n')] ++ for label,method in methods: ++ with self.subTest(shape=label): ++ record=self.run_lazy_fixture('wrapped-'+label,decorator+'class C(unittest.TestCase):\n @transparent\n'+method+ ++ ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') ++ self.assertEqual(record['receipt']['outcome'],'ERROR',record) ++ self.assertFalse(record['lazy_sentinel_executed'],record) ++ self.assertFalse(record['ordinary_sentinel_executed'],record) ++ self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) ++ ++ def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): ++ returns=[('generator','def make_lazy():\n sentinel.write_text("generator")\n yield 1\n','make_lazy()'), ++ ('coroutine','async def make_lazy():\n sentinel.write_text("coroutine")\n','make_lazy()'), ++ ('async-generator','async def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\n','make_lazy()'), ++ ('custom-awaitable','class CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\n','CustomAwaitable()')] ++ for label,definitions,expression in returns: ++ with self.subTest(shape=label): ++ record=self.run_lazy_fixture('return-'+label,definitions+'class C(unittest.TestCase):\n' ++ +' def test_a_lazy(self): return '+expression+'\n' ++ +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') ++ self.assertEqual(record['receipt']['outcome'],'ERROR',record) ++ self.assertFalse(record['lazy_sentinel_executed'],record) ++ self.assertTrue(record['ordinary_sentinel_executed'],record) ++ self.assertTrue(record['receipt']['tests']['invalid_population'],record) ++ ++ + if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json new file mode 100644 index 000000000..6d4d9e56e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpd88aup80/lazy-executed')\nordinary=Path('/tmp/tmpd88aup80/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpkb2wp13r/logs/fixture.log", + "log_sha256": "88d15eec5310ae1431546a680b52b19630d250042cdb1ee1630e9c6e83f92d64", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-ve452c6l/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json new file mode 100644 index 000000000..ccfd41bcf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpoxxhs501/lazy-executed')\nordinary=Path('/tmp/tmpoxxhs501/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpmxct7kdp/logs/fixture.log", + "log_sha256": "1f9f8b5a23d77b18a074febd8630bff3fdf88d5e6da6138e55b85cd726cebe17", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-ve452c6l/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json new file mode 100644 index 000000000..f839691da --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpmohfdz14/lazy-executed')\nordinary=Path('/tmp/tmpmohfdz14/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmppwdeprf_/logs/fixture.log", + "log_sha256": "1f9f8b5a23d77b18a074febd8630bff3fdf88d5e6da6138e55b85cd726cebe17", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-ve452c6l/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json new file mode 100644 index 000000000..a11b8ba9f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmppdtnxkz7/lazy-executed')\nordinary=Path('/tmp/tmppdtnxkz7/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpnyalgk_z/logs/fixture.log", + "log_sha256": "1f9f8b5a23d77b18a074febd8630bff3fdf88d5e6da6138e55b85cd726cebe17", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-ve452c6l/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json new file mode 100644 index 000000000..45b9acb92 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp6g_pi9x1/lazy-executed')\nordinary=Path('/tmp/tmp6g_pi9x1/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpoc83qcnj/logs/fixture.log", + "log_sha256": "e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json new file mode 100644 index 000000000..d51bb5be0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpm1xd1b2i/lazy-executed')\nordinary=Path('/tmp/tmpm1xd1b2i/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpp_iur00g/logs/fixture.log", + "log_sha256": "972078c7fb166d015a7bc7b3ed7cd68e7711d9eee0bacb63bfdbec817c9f8b4b", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.005s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json new file mode 100644 index 000000000..971d38c7c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpd1stlb4c/lazy-executed')\nordinary=Path('/tmp/tmpd1stlb4c/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpkfqpg8e7/logs/fixture.log", + "log_sha256": "e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json new file mode 100644 index 000000000..4e563a144 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpmzuzq8qv/lazy-executed')\nordinary=Path('/tmp/tmpmzuzq8qv/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpkllpjbzz/logs/fixture.log", + "log_sha256": "e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json new file mode 100644 index 000000000..1235dc5e2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpsgkmxjdm/lazy-executed')\nordinary=Path('/tmp/tmpsgkmxjdm/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp6fy_gfpi/logs/fixture.log", + "log_sha256": "1fa468019dfaef81fed84edb62d61567c1e31d66bd3f06f1a403cdb58fe270b2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json new file mode 100644 index 000000000..5e1f71538 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json @@ -0,0 +1,90 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp0zn8a_48/lazy-executed')\nordinary=Path('/tmp/tmp0zn8a_48/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": true, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 1, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpvekfng8b/logs/fixture.log", + "log_sha256": "cd15f194dd6106238a349db8dedcafb461a05f71fa1f13838739412e246b1ee7", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 1, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_a_lazy", + "kind": "error", + "phase": "body" + }, + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ERROR\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nERROR: test_a_lazy (test_auditor.C.test_a_lazy)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 269, in body\n value.send(None)\nStopIteration\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1, errors=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json new file mode 100644 index 000000000..45b9d77c2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpn704k02p/lazy-executed')\nordinary=Path('/tmp/tmpn704k02p/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpnvd2u29e/logs/fixture.log", + "log_sha256": "1fa468019dfaef81fed84edb62d61567c1e31d66bd3f06f1a403cdb58fe270b2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json new file mode 100644 index 000000000..361290fa2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp5tddvf62/lazy-executed')\nordinary=Path('/tmp/tmp5tddvf62/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpnhgx60xd/logs/fixture.log", + "log_sha256": "1fa468019dfaef81fed84edb62d61567c1e31d66bd3f06f1a403cdb58fe270b2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json new file mode 100644 index 000000000..287f222f8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpgpfu69eq/lazy-executed')\nordinary=Path('/tmp/tmpgpfu69eq/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"asyncgen\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpkydola69/logs/fixture.log", + "log_sha256": "b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json new file mode 100644 index 000000000..305c1fe25 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpx176i57e/lazy-executed')\nordinary=Path('/tmp/tmpx176i57e/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"coroutine\")\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpkd5pjm5u/logs/fixture.log", + "log_sha256": "b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json new file mode 100644 index 000000000..9f11c86f6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpj9plrl5l/lazy-executed')\nordinary=Path('/tmp/tmpj9plrl5l/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text(\"generator\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpldqgk_zg/logs/fixture.log", + "log_sha256": "b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json new file mode 100644 index 000000000..03ea86b29 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpuyqjebam/lazy-executed')\nordinary=Path('/tmp/tmpuyqjebam/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp4g6jniin/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json new file mode 100644 index 000000000..b99f9201f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmptotgohdl/lazy-executed')\nordinary=Path('/tmp/tmptotgohdl/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpro0g4mf6/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json new file mode 100644 index 000000000..79e247b73 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpoe5w2cdq/lazy-executed')\nordinary=Path('/tmp/tmpoe5w2cdq/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp_tmis7bh/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json new file mode 100644 index 000000000..6f2d052bd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp_vdkku9v/lazy-executed')\nordinary=Path('/tmp/tmp_vdkku9v/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n @lazy_middle\n def test_a_lazy(self): pass\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-lazy-middle", + "lazy_sentinel_executed": true, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp7__job6h/logs/fixture.log", + "log_sha256": "3b776b4ef564b56103bab8d0c7609ea61183e62c57771864a74d8beb170ef176", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-_hxngyfv/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json new file mode 100644 index 000000000..fed5e4af1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp7s17zask/lazy-executed')\nordinary=Path('/tmp/tmp7s17zask/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpfdi3cn9n/logs/fixture.log", + "log_sha256": "b19f026dff9b3e4e52e7cd63b81dc34991fac5ef0ac45fe6844c6d15ec5c0646", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-2huc0z9j/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json new file mode 100644 index 000000000..6367054e6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpbe30xcmo/lazy-executed')\nordinary=Path('/tmp/tmpbe30xcmo/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp3rie5s7k/logs/fixture.log", + "log_sha256": "b19f026dff9b3e4e52e7cd63b81dc34991fac5ef0ac45fe6844c6d15ec5c0646", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-2huc0z9j/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json new file mode 100644 index 000000000..330850a92 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpxx6vdpa6/lazy-executed')\nordinary=Path('/tmp/tmpxx6vdpa6/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpf_xzbxmw/logs/fixture.log", + "log_sha256": "b19f026dff9b3e4e52e7cd63b81dc34991fac5ef0ac45fe6844c6d15ec5c0646", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-2huc0z9j/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json new file mode 100644 index 000000000..870186868 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpwd91e2q0/lazy-executed')\nordinary=Path('/tmp/tmpwd91e2q0/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp59ng0usn/logs/fixture.log", + "log_sha256": "b19f026dff9b3e4e52e7cd63b81dc34991fac5ef0ac45fe6844c6d15ec5c0646", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-2huc0z9j/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json new file mode 100644 index 000000000..f2d78fa56 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmprz8nnnbc/lazy-executed')\nordinary=Path('/tmp/tmprz8nnnbc/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpa22x9h_b/logs/fixture.log", + "log_sha256": "6c3fa530dc5b138dcc1657655dd4f1bc34c2c7673889ca646e235b4f68fef4d2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json new file mode 100644 index 000000000..033344abd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpcve6h5va/lazy-executed')\nordinary=Path('/tmp/tmpcve6h5va/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp6lymgs12/logs/fixture.log", + "log_sha256": "a0a0f93fc29fff00b40ac04667335f65f20e0e7234aa444fe870f53a4dc0915b", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.013s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json new file mode 100644 index 000000000..4aebce3d4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpbk6r8v0s/lazy-executed')\nordinary=Path('/tmp/tmpbk6r8v0s/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp3pc_k7fc/logs/fixture.log", + "log_sha256": "73ce966379bfdd2e076c555c9d5e6ccd9da4182d9b34abf2e08e32051e0d3704", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json new file mode 100644 index 000000000..892412d42 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpsbgmnujf/lazy-executed')\nordinary=Path('/tmp/tmpsbgmnujf/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp_4kn70os/logs/fixture.log", + "log_sha256": "6c3fa530dc5b138dcc1657655dd4f1bc34c2c7673889ca646e235b4f68fef4d2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json new file mode 100644 index 000000000..7c627141e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpp8djpaw4/lazy-executed')\nordinary=Path('/tmp/tmpp8djpaw4/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpmbnojjs1/logs/fixture.log", + "log_sha256": "e26dfa3589a1ecf8d55d0dcb6c8de97c6450947f5af05e8b6d63e04f8c1299b1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json new file mode 100644 index 000000000..2c2de78c9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json @@ -0,0 +1,90 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp07n1_633/lazy-executed')\nordinary=Path('/tmp/tmp07n1_633/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": true, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 1, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp0gtri3d1/logs/fixture.log", + "log_sha256": "633c549e31615b8006bddf1cbabc5a976ee4885bb565f7a5411fa599cb29f065", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 1, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_a_lazy", + "kind": "error", + "phase": "body" + }, + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ERROR\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nERROR: test_a_lazy (test_auditor.C.test_a_lazy)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 269, in body\n value.send(None)\nStopIteration\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1, errors=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json new file mode 100644 index 000000000..a38cb9d39 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpqmpq5hmr/lazy-executed')\nordinary=Path('/tmp/tmpqmpq5hmr/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpxi6dx6zw/logs/fixture.log", + "log_sha256": "442337e2e48a16d48216fbcd3c6b84c5d3afd38e24f02351bbf2b43bcb62c95b", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json new file mode 100644 index 000000000..bd5312e1e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpna7_e_r0/lazy-executed')\nordinary=Path('/tmp/tmpna7_e_r0/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpz1q1hfv3/logs/fixture.log", + "log_sha256": "e26dfa3589a1ecf8d55d0dcb6c8de97c6450947f5af05e8b6d63e04f8c1299b1", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json new file mode 100644 index 000000000..41c29052d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpghb3apcy/lazy-executed')\nordinary=Path('/tmp/tmpghb3apcy/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"asyncgen\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp1dus93gx/logs/fixture.log", + "log_sha256": "bb32d874b5327e6a138259653c5ff485fa26549060cbb258f293ad9fa71fac80", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json new file mode 100644 index 000000000..07c69624e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpu8rqrk3n/lazy-executed')\nordinary=Path('/tmp/tmpu8rqrk3n/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"coroutine\")\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp80f27j3s/logs/fixture.log", + "log_sha256": "bb32d874b5327e6a138259653c5ff485fa26549060cbb258f293ad9fa71fac80", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json new file mode 100644 index 000000000..b8fa670cd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpxghc91ln/lazy-executed')\nordinary=Path('/tmp/tmpxghc91ln/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text(\"generator\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp36sbbt9e/logs/fixture.log", + "log_sha256": "e732f3fd7ebf02ce176fc21875ec63a2c06a7af78361b54b24dc489527ed8227", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json new file mode 100644 index 000000000..7ef795f46 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp5u_6pmi2/lazy-executed')\nordinary=Path('/tmp/tmp5u_6pmi2/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpk87k6t5o/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json new file mode 100644 index 000000000..7dfdb07a5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpnkm80q4_/lazy-executed')\nordinary=Path('/tmp/tmpnkm80q4_/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp1mts6y41/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json new file mode 100644 index 000000000..59ba58be1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpswmzy_rt/lazy-executed')\nordinary=Path('/tmp/tmpswmzy_rt/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpvpb0xil4/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json new file mode 100644 index 000000000..091521700 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmppjg47kuj/lazy-executed')\nordinary=Path('/tmp/tmppjg47kuj/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n @lazy_middle\n def test_a_lazy(self): pass\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-lazy-middle", + "lazy_sentinel_executed": true, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpey20vlmc/logs/fixture.log", + "log_sha256": "b8ba195471f7669e709e55299e8e73f35b930c7cc80fc090771e1f4f7137677a", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-orpmvv2y/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/new-guard-source-controls.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/new-guard-source-controls.json new file mode 100644 index 000000000..11fcd79cf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/new-guard-source-controls.json @@ -0,0 +1,798 @@ +{ + "executed": 10, + "killed": 10, + "planned": 10, + "results": [ + { + "after": "not callable(getattr(test,method,None))", + "before": "not ordinary_sync_method(getattr(test,method,None))", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log", + "log_sha256": "1af2ad87f3ebf353950cd468af5e4c686228d616c3c58ae91b34cba55d7c4dad", + "mode": "normal", + "mutated_sha256": "6f6f68d30e1ce72eaef93661d981aa5e597a0e6fd65b8b26c77fcb36d4a39c51", + "name": "drop-pristine-lazy-method-refusal", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "source": "subtest" + } + ], + "assertion_failures": 3, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... \n test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator') ... FAIL\n test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine') ... FAIL\n test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator') ... FAIL\n\n======================================================================\nFAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/tests/test_mutation_runner.py\", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body\n self.assertFalse(record['ordinary_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'method-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpj9plrl5l/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpj9plrl5l/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_lazy(self):\\n sentinel.write_text(\"generator\")\\n yield 1\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpldqgk_zg/logs/fixture.log', 'log_sha256': 'b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1'}}\n\n======================================================================\nFAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/tests/test_mutation_runner.py\", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body\n self.assertFalse(record['ordinary_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'method-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpx176i57e/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpx176i57e/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n async def test_a_lazy(self):\\n sentinel.write_text(\"coroutine\")\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkd5pjm5u/logs/fixture.log', 'log_sha256': 'b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1'}}\n\n======================================================================\nFAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/tests/test_mutation_runner.py\", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body\n self.assertFalse(record['ordinary_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'method-async-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpgpfu69eq/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpgpfu69eq/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n async def test_a_lazy(self):\\n sentinel.write_text(\"asyncgen\")\\n yield 1\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkydola69/logs/fixture.log', 'log_sha256': 'b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1'}}\n\n----------------------------------------------------------------------\nRan 1 test in 0.424s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 3, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": " current=unwrapped\n", + "before": " current=method\n", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-ignore-middle-wraps-layers.log", + "log_sha256": "407f235bb0052146a12670b95a4ab78936ca5fa8e2b2bde5e62075480f180709", + "mode": "normal", + "mutated_sha256": "bdcd7452ec258295a542c0c94d9ed61fc3db17b23b148ff31fe017655b48a8a8", + "name": "ignore-middle-wraps-layers", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "source": "subtest" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... \n test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='lazy-middle') ... FAIL\n\n======================================================================\nFAIL: test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='lazy-middle')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-_hxngyfv/tests/test_mutation_runner.py\", line 233, in test_wraps_decorated_lazy_functions_are_refused_at_population\n self.assertFalse(record['lazy_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'wrapped-lazy-middle', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp_vdkku9v/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp_vdkku9v/ordinary-executed\\')\\ndef transparent(fn):\\n @functools.wraps(fn)\\n def wrapper(*args,**kwargs):\\n sentinel.write_text(\"wrapper executed\")\\n return fn(*args,**kwargs)\\n return wrapper\\ndef lazy_middle(fn):\\n @functools.wraps(fn)\\n def wrapper(*args,**kwargs):\\n sentinel.write_text(\"middle executed\")\\n yield fn(*args,**kwargs)\\n return wrapper\\nclass C(unittest.TestCase):\\n @transparent\\n @lazy_middle\\n def test_a_lazy(self): pass\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-_hxngyfv/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp7__job6h/logs/fixture.log', 'log_sha256': '3b776b4ef564b56103bab8d0c7609ea61183e62c57771864a74d8beb170ef176'}}\n\n----------------------------------------------------------------------\nRan 1 test in 0.366s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": "if False:", + "before": "if unsupported_lazy_return(value):", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-accept-lazy-return-objects.log", + "log_sha256": "096fcb129d15d6538af4ccebcd964e0967f85ff4462e95156a92167bd3a69cd4", + "mode": "normal", + "mutated_sha256": "f2a0e2cd2a7fc9aefe44cbf95a878ccc4560bf3171fe94f13933c80b925c823a", + "name": "accept-lazy-return-objects", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + } + ], + "assertion_failures": 4, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... \n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator') ... FAIL\n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL\n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator') ... FAIL\n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpmzuzq8qv/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpmzuzq8qv/ordinary-executed\\')\\ndef make_lazy():\\n sentinel.write_text(\"generator\")\\n yield 1\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return make_lazy()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkllpjbzz/logs/fixture.log', 'log_sha256': 'e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01'}}\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpm1xd1b2i/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpm1xd1b2i/ordinary-executed\\')\\nasync def make_lazy():\\n sentinel.write_text(\"coroutine\")\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return make_lazy()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.005s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpp_iur00g/logs/fixture.log', 'log_sha256': '972078c7fb166d015a7bc7b3ed7cd68e7711d9eee0bacb63bfdbec817c9f8b4b'}}\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-async-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp6g_pi9x1/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp6g_pi9x1/ordinary-executed\\')\\nasync def make_lazy():\\n sentinel.write_text(\"asyncgen\")\\n yield 1\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return make_lazy()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpoc83qcnj/logs/fixture.log', 'log_sha256': 'e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01'}}\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-custom-awaitable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpd1stlb4c/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpd1stlb4c/ordinary-executed\\')\\nclass CustomAwaitable:\\n def __await__(self):\\n sentinel.write_text(\"awaited\")\\n yield 1\\n def close(self): sentinel.write_text(\"custom close\")\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return CustomAwaitable()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkfqpg8e7/logs/fixture.log', 'log_sha256': 'e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01'}}\n\n----------------------------------------------------------------------\nRan 1 test in 0.580s\n\nFAILED (failures=4)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": "", + "before": " or inspect.isawaitable(value)", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-accept-custom-awaitable-returns.log", + "log_sha256": "f98a58d94ea390a8c59d0154b6537d0caa22afb3c199f639fc0408677e826be2", + "mode": "normal", + "mutated_sha256": "cc1fcf64e2623e67a93f7ca4928df88e25f5583f2eec96dcb7850cdda0e46946", + "name": "accept-custom-awaitable-returns", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... \n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-ve452c6l/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-custom-awaitable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpmohfdz14/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpmohfdz14/ordinary-executed\\')\\nclass CustomAwaitable:\\n def __await__(self):\\n sentinel.write_text(\"awaited\")\\n yield 1\\n def close(self): sentinel.write_text(\"custom close\")\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return CustomAwaitable()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-ve452c6l/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmppwdeprf_/logs/fixture.log', 'log_sha256': '1f9f8b5a23d77b18a074febd8630bff3fdf88d5e6da6138e55b85cd726cebe17'}}\n\n----------------------------------------------------------------------\nRan 1 test in 0.557s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": " value.send(None)", + "before": " value.close()", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-advance-coroutine-instead-of-close.log", + "log_sha256": "d3b61f30797121ada03de3d9c516f8612f1da70302863aad4eea4eace1f64798", + "mode": "normal", + "mutated_sha256": "4abae2d968f37a258d55b9b5b0d81a56f92661483e2a3895034159bb95bd85b7", + "name": "advance-coroutine-instead-of-close", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... \n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/tests/test_mutation_runner.py\", line 248, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertFalse(record['lazy_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'return-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp0zn8a_48/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp0zn8a_48/ordinary-executed\\')\\nasync def make_lazy():\\n sentinel.write_text(\"coroutine\")\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return make_lazy()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 1, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_a_lazy', 'phase': 'body', 'kind': 'error'}, {'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 1, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ERROR\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nERROR: test_a_lazy (test_auditor.C.test_a_lazy)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\\n if method() is not None:\\n ^^^^^^^^\\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 269, in body\\n value.send(None)\\nStopIteration\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1, errors=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpvekfng8b/logs/fixture.log', 'log_sha256': 'cd15f194dd6106238a349db8dedcafb461a05f71fa1f13838739412e246b1ee7'}}\n\n----------------------------------------------------------------------\nRan 1 test in 0.554s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": "not callable(getattr(test,method,None))", + "before": "not ordinary_sync_method(getattr(test,method,None))", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log", + "log_sha256": "ad28cdd8b06e6a43298004bb5a4afc3fccff128c3de14eea869ddcc67ab228e7", + "mode": "optimized", + "mutated_sha256": "6f6f68d30e1ce72eaef93661d981aa5e597a0e6fd65b8b26c77fcb36d4a39c51", + "name": "drop-pristine-lazy-method-refusal", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "source": "subtest" + } + ], + "assertion_failures": 3, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... \n test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator') ... FAIL\n test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine') ... FAIL\n test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator') ... FAIL\n\n======================================================================\nFAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/tests/test_mutation_runner.py\", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body\n self.assertFalse(record['ordinary_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'method-generator', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpxghc91ln/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpxghc91ln/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_lazy(self):\\n sentinel.write_text(\"generator\")\\n yield 1\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp36sbbt9e/logs/fixture.log', 'log_sha256': 'e732f3fd7ebf02ce176fc21875ec63a2c06a7af78361b54b24dc489527ed8227'}}\n\n======================================================================\nFAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/tests/test_mutation_runner.py\", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body\n self.assertFalse(record['ordinary_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'method-coroutine', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpu8rqrk3n/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpu8rqrk3n/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n async def test_a_lazy(self):\\n sentinel.write_text(\"coroutine\")\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp80f27j3s/logs/fixture.log', 'log_sha256': 'bb32d874b5327e6a138259653c5ff485fa26549060cbb258f293ad9fa71fac80'}}\n\n======================================================================\nFAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/tests/test_mutation_runner.py\", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body\n self.assertFalse(record['ordinary_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'method-async-generator', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpghb3apcy/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpghb3apcy/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n async def test_a_lazy(self):\\n sentinel.write_text(\"asyncgen\")\\n yield 1\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp1dus93gx/logs/fixture.log', 'log_sha256': 'bb32d874b5327e6a138259653c5ff485fa26549060cbb258f293ad9fa71fac80'}}\n\n----------------------------------------------------------------------\nRan 1 test in 1.360s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 3, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": " current=unwrapped\n", + "before": " current=method\n", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-ignore-middle-wraps-layers.log", + "log_sha256": "8baa23df02a8f17dff43efdb1fd2048fa5552bb91a615ea4d2f8467b6f7d65e3", + "mode": "optimized", + "mutated_sha256": "bdcd7452ec258295a542c0c94d9ed61fc3db17b23b148ff31fe017655b48a8a8", + "name": "ignore-middle-wraps-layers", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "source": "subtest" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... \n test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='lazy-middle') ... FAIL\n\n======================================================================\nFAIL: test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='lazy-middle')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-orpmvv2y/tests/test_mutation_runner.py\", line 233, in test_wraps_decorated_lazy_functions_are_refused_at_population\n self.assertFalse(record['lazy_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'wrapped-lazy-middle', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmppjg47kuj/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmppjg47kuj/ordinary-executed\\')\\ndef transparent(fn):\\n @functools.wraps(fn)\\n def wrapper(*args,**kwargs):\\n sentinel.write_text(\"wrapper executed\")\\n return fn(*args,**kwargs)\\n return wrapper\\ndef lazy_middle(fn):\\n @functools.wraps(fn)\\n def wrapper(*args,**kwargs):\\n sentinel.write_text(\"middle executed\")\\n yield fn(*args,**kwargs)\\n return wrapper\\nclass C(unittest.TestCase):\\n @transparent\\n @lazy_middle\\n def test_a_lazy(self): pass\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-orpmvv2y/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpey20vlmc/logs/fixture.log', 'log_sha256': 'b8ba195471f7669e709e55299e8e73f35b930c7cc80fc090771e1f4f7137677a'}}\n\n----------------------------------------------------------------------\nRan 1 test in 1.132s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": "if False:", + "before": "if unsupported_lazy_return(value):", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-accept-lazy-return-objects.log", + "log_sha256": "2d132c375f2e255cd69480a46dfc99fde81f14162353e63f9a020bd05fd6d118", + "mode": "optimized", + "mutated_sha256": "f2a0e2cd2a7fc9aefe44cbf95a878ccc4560bf3171fe94f13933c80b925c823a", + "name": "accept-lazy-return-objects", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + } + ], + "assertion_failures": 4, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... \n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator') ... FAIL\n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL\n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator') ... FAIL\n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-generator', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpsbgmnujf/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpsbgmnujf/ordinary-executed\\')\\ndef make_lazy():\\n sentinel.write_text(\"generator\")\\n yield 1\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return make_lazy()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_4kn70os/logs/fixture.log', 'log_sha256': '6c3fa530dc5b138dcc1657655dd4f1bc34c2c7673889ca646e235b4f68fef4d2'}}\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-coroutine', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpcve6h5va/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpcve6h5va/ordinary-executed\\')\\nasync def make_lazy():\\n sentinel.write_text(\"coroutine\")\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return make_lazy()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.013s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp6lymgs12/logs/fixture.log', 'log_sha256': 'a0a0f93fc29fff00b40ac04667335f65f20e0e7234aa444fe870f53a4dc0915b'}}\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-async-generator', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmprz8nnnbc/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmprz8nnnbc/ordinary-executed\\')\\nasync def make_lazy():\\n sentinel.write_text(\"asyncgen\")\\n yield 1\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return make_lazy()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpa22x9h_b/logs/fixture.log', 'log_sha256': '6c3fa530dc5b138dcc1657655dd4f1bc34c2c7673889ca646e235b4f68fef4d2'}}\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-custom-awaitable', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpbk6r8v0s/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpbk6r8v0s/ordinary-executed\\')\\nclass CustomAwaitable:\\n def __await__(self):\\n sentinel.write_text(\"awaited\")\\n yield 1\\n def close(self): sentinel.write_text(\"custom close\")\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return CustomAwaitable()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp3pc_k7fc/logs/fixture.log', 'log_sha256': '73ce966379bfdd2e076c555c9d5e6ccd9da4182d9b34abf2e08e32051e0d3704'}}\n\n----------------------------------------------------------------------\nRan 1 test in 1.843s\n\nFAILED (failures=4)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": "", + "before": " or inspect.isawaitable(value)", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-accept-custom-awaitable-returns.log", + "log_sha256": "1f8098bd02513f56f5d6b35448ff5dbc2e3d756762c8159ae77acfa739a84253", + "mode": "optimized", + "mutated_sha256": "cc1fcf64e2623e67a93f7ca4928df88e25f5583f2eec96dcb7850cdda0e46946", + "name": "accept-custom-awaitable-returns", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... \n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-2huc0z9j/tests/test_mutation_runner.py\", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-custom-awaitable', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpxx6vdpa6/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpxx6vdpa6/ordinary-executed\\')\\nclass CustomAwaitable:\\n def __await__(self):\\n sentinel.write_text(\"awaited\")\\n yield 1\\n def close(self): sentinel.write_text(\"custom close\")\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return CustomAwaitable()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-2huc0z9j/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpf_xzbxmw/logs/fixture.log', 'log_sha256': 'b19f026dff9b3e4e52e7cd63b81dc34991fac5ef0ac45fe6844c6d15ec5c0646'}}\n\n----------------------------------------------------------------------\nRan 1 test in 1.905s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": " value.send(None)", + "before": " value.close()", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log", + "log_sha256": "91136f9a8c4166c13d9f3ca1909cb2c580028bfe8f55aaaa830b5b0683d544f3", + "mode": "optimized", + "mutated_sha256": "4abae2d968f37a258d55b9b5b0d81a56f92661483e2a3895034159bb95bd85b7", + "name": "advance-coroutine-instead-of-close", + "original_sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "source": "subtest" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... \n test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL\n\n======================================================================\nFAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/tests/test_mutation_runner.py\", line 248, in test_sync_lazy_returns_are_rejected_without_advancing_objects\n self.assertFalse(record['lazy_sentinel_executed'],record)\nAssertionError: True is not false : {'label': 'return-coroutine', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp07n1_633/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp07n1_633/ordinary-executed\\')\\nasync def make_lazy():\\n sentinel.write_text(\"coroutine\")\\nclass C(unittest.TestCase):\\n def test_a_lazy(self): return make_lazy()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 1, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_a_lazy', 'phase': 'body', 'kind': 'error'}, {'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 1, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ERROR\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nERROR: test_a_lazy (test_auditor.C.test_a_lazy)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py\", line 589, in _callTestMethod\\n if method() is not None:\\n ^^^^^^^^\\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 269, in body\\n value.send(None)\\nStopIteration\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py\", line 283, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1, errors=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp0gtri3d1/logs/fixture.log', 'log_sha256': '633c549e31615b8006bddf1cbabc5a976ee4885bb565f7a5411fa599cb29f065'}}\n\n----------------------------------------------------------------------\nRan 1 test in 1.909s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + } + ], + "scope": "five new lazy-body grader source mutants in two modes; old controls reused" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-accept-custom-awaitable-returns.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-accept-custom-awaitable-returns.log new file mode 100644 index 000000000..9fd90fbe4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-accept-custom-awaitable-returns.log @@ -0,0 +1,18 @@ +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-ve452c6l/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-custom-awaitable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpmohfdz14/lazy-executed\')\nordinary=Path(\'/tmp/tmpmohfdz14/ordinary-executed\')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-ve452c6l/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmppwdeprf_/logs/fixture.log', 'log_sha256': '1f9f8b5a23d77b18a074febd8630bff3fdf88d5e6da6138e55b85cd726cebe17'}} + +---------------------------------------------------------------------- +Ran 1 test in 0.557s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-accept-lazy-return-objects.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-accept-lazy-return-objects.log new file mode 100644 index 000000000..a80d47f67 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-accept-lazy-return-objects.log @@ -0,0 +1,54 @@ +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-8jcuvtzz/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpmzuzq8qv/lazy-executed\')\nordinary=Path(\'/tmp/tmpmzuzq8qv/ordinary-executed\')\ndef make_lazy():\n sentinel.write_text("generator")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkllpjbzz/logs/fixture.log', 'log_sha256': 'e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-8jcuvtzz/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpm1xd1b2i/lazy-executed\')\nordinary=Path(\'/tmp/tmpm1xd1b2i/ordinary-executed\')\nasync def make_lazy():\n sentinel.write_text("coroutine")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.005s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpp_iur00g/logs/fixture.log', 'log_sha256': '972078c7fb166d015a7bc7b3ed7cd68e7711d9eee0bacb63bfdbec817c9f8b4b'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-8jcuvtzz/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-async-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp6g_pi9x1/lazy-executed\')\nordinary=Path(\'/tmp/tmp6g_pi9x1/ordinary-executed\')\nasync def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpoc83qcnj/logs/fixture.log', 'log_sha256': 'e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-8jcuvtzz/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-custom-awaitable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpd1stlb4c/lazy-executed\')\nordinary=Path(\'/tmp/tmpd1stlb4c/ordinary-executed\')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-8jcuvtzz/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkfqpg8e7/logs/fixture.log', 'log_sha256': 'e4818d1fa54387f7ba664b0975974a561cbbaee8af69d78e669f35123750bd01'}} + +---------------------------------------------------------------------- +Ran 1 test in 0.580s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-advance-coroutine-instead-of-close.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-advance-coroutine-instead-of-close.log new file mode 100644 index 000000000..c93711241 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-advance-coroutine-instead-of-close.log @@ -0,0 +1,15 @@ +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-hhh5yguh/tests/test_mutation_runner.py", line 248, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertFalse(record['lazy_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'return-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp0zn8a_48/lazy-executed\')\nordinary=Path(\'/tmp/tmp0zn8a_48/ordinary-executed\')\nasync def make_lazy():\n sentinel.write_text("coroutine")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 1, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_a_lazy', 'phase': 'body', 'kind': 'error'}, {'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 1, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ERROR\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nERROR: test_a_lazy (test_auditor.C.test_a_lazy)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File "/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py", line 269, in body\n value.send(None)\nStopIteration\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-hhh5yguh/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1, errors=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpvekfng8b/logs/fixture.log', 'log_sha256': 'cd15f194dd6106238a349db8dedcafb461a05f71fa1f13838739412e246b1ee7'}} + +---------------------------------------------------------------------- +Ran 1 test in 0.554s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log new file mode 100644 index 000000000..a7623b7c9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log @@ -0,0 +1,33 @@ +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator') ... FAIL + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine') ... FAIL + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator') ... FAIL + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-dilwlx8m/tests/test_mutation_runner.py", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertFalse(record['ordinary_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'method-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpj9plrl5l/lazy-executed\')\nordinary=Path(\'/tmp/tmpj9plrl5l/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpldqgk_zg/logs/fixture.log', 'log_sha256': 'b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1'}} + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-dilwlx8m/tests/test_mutation_runner.py", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertFalse(record['ordinary_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'method-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpx176i57e/lazy-executed\')\nordinary=Path(\'/tmp/tmpx176i57e/ordinary-executed\')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkd5pjm5u/logs/fixture.log', 'log_sha256': 'b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1'}} + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-dilwlx8m/tests/test_mutation_runner.py", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertFalse(record['ordinary_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'method-async-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpgpfu69eq/lazy-executed\')\nordinary=Path(\'/tmp/tmpgpfu69eq/ordinary-executed\')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-dilwlx8m/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkydola69/logs/fixture.log', 'log_sha256': 'b33125f59c66761973b1bacf6feeaaf2f8e70875043271a0aba5eaf6064c19c1'}} + +---------------------------------------------------------------------- +Ran 1 test in 0.424s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-async-generator.json new file mode 100644 index 000000000..80a571956 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp479dcpge/lazy-executed')\nordinary=Path('/tmp/tmp479dcpge/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"asyncgen\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp8hcg499q/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-coroutine.json new file mode 100644 index 000000000..a2d40588c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmprknavqhp/lazy-executed')\nordinary=Path('/tmp/tmprknavqhp/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"coroutine\")\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpwqym4t7t/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-generator.json new file mode 100644 index 000000000..96153a81c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp9kwygv8b/lazy-executed')\nordinary=Path('/tmp/tmp9kwygv8b/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text(\"generator\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpm8yxg9ay/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-pass.json new file mode 100644 index 000000000..2bb396f1a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp9nw6gd2a/lazy-executed')\nordinary=Path('/tmp/tmp9nw6gd2a/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmpj0cxpt6j/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json new file mode 100644 index 000000000..e313faf36 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp8cwa9g4e/lazy-executed')\nordinary=Path('/tmp/tmp8cwa9g4e/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpoix_c7qs/logs/fixture.log", + "log_sha256": "f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-async-generator.json new file mode 100644 index 000000000..7ffe9234e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp92_dnnbf/lazy-executed')\nordinary=Path('/tmp/tmp92_dnnbf/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpz58hhr5f/logs/fixture.log", + "log_sha256": "41d8cafb0a5c3322c4e89e2db95c01e1e7aa4b58312d1ceddd32ab8b6f9714d8", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-coroutine.json new file mode 100644 index 000000000..b5c0dcf7a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-coroutine.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplifeecq6/lazy-executed')\nordinary=Path('/tmp/tmplifeecq6/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpklaowr2l/logs/fixture.log", + "log_sha256": "41d8cafb0a5c3322c4e89e2db95c01e1e7aa4b58312d1ceddd32ab8b6f9714d8", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-custom-awaitable.json new file mode 100644 index 000000000..8a1af37dd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-custom-awaitable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp6z078c5d/lazy-executed')\nordinary=Path('/tmp/tmp6z078c5d/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpa3z6ms_7/logs/fixture.log", + "log_sha256": "41d8cafb0a5c3322c4e89e2db95c01e1e7aa4b58312d1ceddd32ab8b6f9714d8", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-generator.json new file mode 100644 index 000000000..89bd92b5b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp8oprgdzj/lazy-executed')\nordinary=Path('/tmp/tmp8oprgdzj/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpnv9icm14/logs/fixture.log", + "log_sha256": "41d8cafb0a5c3322c4e89e2db95c01e1e7aa4b58312d1ceddd32ab8b6f9714d8", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-async-generator.json new file mode 100644 index 000000000..703da573e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpsn1wgizf/lazy-executed')\nordinary=Path('/tmp/tmpsn1wgizf/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmprgktnqz9/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-coroutine.json new file mode 100644 index 000000000..4f9514775 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpz4qly6bh/lazy-executed')\nordinary=Path('/tmp/tmpz4qly6bh/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpp22ey6_i/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-generator.json new file mode 100644 index 000000000..4b9872baf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmptjzjnsp9/lazy-executed')\nordinary=Path('/tmp/tmptjzjnsp9/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpw7uhjhgm/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json new file mode 100644 index 000000000..aef9a74d4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp9cohta19/lazy-executed')\nordinary=Path('/tmp/tmp9cohta19/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n @lazy_middle\n def test_a_lazy(self): pass\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-lazy-middle", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp2bhra3z2/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-ignore-middle-wraps-layers.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-ignore-middle-wraps-layers.log new file mode 100644 index 000000000..08fd698bb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-ignore-middle-wraps-layers.log @@ -0,0 +1,15 @@ +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... + test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='lazy-middle') ... FAIL + +====================================================================== +FAIL: test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='lazy-middle') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-_hxngyfv/tests/test_mutation_runner.py", line 233, in test_wraps_decorated_lazy_functions_are_refused_at_population + self.assertFalse(record['lazy_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'wrapped-lazy-middle', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp_vdkku9v/lazy-executed\')\nordinary=Path(\'/tmp/tmp_vdkku9v/ordinary-executed\')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n @lazy_middle\n def test_a_lazy(self): pass\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-_hxngyfv/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp7__job6h/logs/fixture.log', 'log_sha256': '3b776b4ef564b56103bab8d0c7609ea61183e62c57771864a74d8beb170ef176'}} + +---------------------------------------------------------------------- +Ran 1 test in 0.366s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-lazy-controls.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-lazy-controls.log new file mode 100644 index 000000000..88a7d9eb8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-lazy-controls.log @@ -0,0 +1,9 @@ +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... ok +test_ordinary_sync_bodies_preserve_kills_without_iterating_unknown_values (test_mutation_runner.LazyBodyHarnessRules.test_ordinary_sync_bodies_preserve_kills_without_iterating_unknown_values) ... ok +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... ok +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok + +---------------------------------------------------------------------- +Ran 4 tests in 1.289s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-middle-decorator-control.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-middle-decorator-control.log new file mode 100644 index 000000000..0c18b78b3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/normal-middle-decorator-control.log @@ -0,0 +1,6 @@ +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.301s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-accept-custom-awaitable-returns.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-accept-custom-awaitable-returns.log new file mode 100644 index 000000000..a60399fd9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-accept-custom-awaitable-returns.log @@ -0,0 +1,18 @@ +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-2huc0z9j/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-custom-awaitable', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpxx6vdpa6/lazy-executed\')\nordinary=Path(\'/tmp/tmpxx6vdpa6/ordinary-executed\')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-2huc0z9j/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpf_xzbxmw/logs/fixture.log', 'log_sha256': 'b19f026dff9b3e4e52e7cd63b81dc34991fac5ef0ac45fe6844c6d15ec5c0646'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.905s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-accept-lazy-return-objects.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-accept-lazy-return-objects.log new file mode 100644 index 000000000..b8fe30b0c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-accept-lazy-return-objects.log @@ -0,0 +1,54 @@ +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-5s6lssxk/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-generator', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpsbgmnujf/lazy-executed\')\nordinary=Path(\'/tmp/tmpsbgmnujf/ordinary-executed\')\ndef make_lazy():\n sentinel.write_text("generator")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_4kn70os/logs/fixture.log', 'log_sha256': '6c3fa530dc5b138dcc1657655dd4f1bc34c2c7673889ca646e235b4f68fef4d2'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-5s6lssxk/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-coroutine', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpcve6h5va/lazy-executed\')\nordinary=Path(\'/tmp/tmpcve6h5va/ordinary-executed\')\nasync def make_lazy():\n sentinel.write_text("coroutine")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.013s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp6lymgs12/logs/fixture.log', 'log_sha256': 'a0a0f93fc29fff00b40ac04667335f65f20e0e7234aa444fe870f53a4dc0915b'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-5s6lssxk/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-async-generator', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmprz8nnnbc/lazy-executed\')\nordinary=Path(\'/tmp/tmprz8nnnbc/ordinary-executed\')\nasync def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpa22x9h_b/logs/fixture.log', 'log_sha256': '6c3fa530dc5b138dcc1657655dd4f1bc34c2c7673889ca646e235b4f68fef4d2'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-5s6lssxk/tests/test_mutation_runner.py", line 247, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-custom-awaitable', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpbk6r8v0s/lazy-executed\')\nordinary=Path(\'/tmp/tmpbk6r8v0s/ordinary-executed\')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-5s6lssxk/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp3pc_k7fc/logs/fixture.log', 'log_sha256': '73ce966379bfdd2e076c555c9d5e6ccd9da4182d9b34abf2e08e32051e0d3704'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.843s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log new file mode 100644 index 000000000..82b6039a4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log @@ -0,0 +1,15 @@ +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-imt3m02t/tests/test_mutation_runner.py", line 248, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertFalse(record['lazy_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'return-coroutine', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp07n1_633/lazy-executed\')\nordinary=Path(\'/tmp/tmp07n1_633/ordinary-executed\')\nasync def make_lazy():\n sentinel.write_text("coroutine")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 1, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_a_lazy', 'phase': 'body', 'kind': 'error'}, {'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 1, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ERROR\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nERROR: test_a_lazy (test_auditor.C.test_a_lazy)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/lib/python3.12/unittest/case.py", line 589, in _callTestMethod\n if method() is not None:\n ^^^^^^^^\n File "/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py", line 269, in body\n value.send(None)\nStopIteration\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-imt3m02t/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1, errors=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp0gtri3d1/logs/fixture.log', 'log_sha256': '633c549e31615b8006bddf1cbabc5a976ee4885bb565f7a5411fa599cb29f065'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.909s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log new file mode 100644 index 000000000..9c2d1be27 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log @@ -0,0 +1,33 @@ +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator') ... FAIL + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine') ... FAIL + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator') ... FAIL + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-orki54a4/tests/test_mutation_runner.py", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertFalse(record['ordinary_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'method-generator', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpxghc91ln/lazy-executed\')\nordinary=Path(\'/tmp/tmpxghc91ln/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp36sbbt9e/logs/fixture.log', 'log_sha256': 'e732f3fd7ebf02ce176fc21875ec63a2c06a7af78361b54b24dc489527ed8227'}} + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-orki54a4/tests/test_mutation_runner.py", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertFalse(record['ordinary_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'method-coroutine', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpu8rqrk3n/lazy-executed\')\nordinary=Path(\'/tmp/tmpu8rqrk3n/ordinary-executed\')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp80f27j3s/logs/fixture.log', 'log_sha256': 'bb32d874b5327e6a138259653c5ff485fa26549060cbb258f293ad9fa71fac80'}} + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-orki54a4/tests/test_mutation_runner.py", line 216, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertFalse(record['ordinary_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'method-async-generator', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpghb3apcy/lazy-executed\')\nordinary=Path(\'/tmp/tmpghb3apcy/ordinary-executed\')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-orki54a4/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp1dus93gx/logs/fixture.log', 'log_sha256': 'bb32d874b5327e6a138259653c5ff485fa26549060cbb258f293ad9fa71fac80'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.360s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-async-generator.json new file mode 100644 index 000000000..1f6e08cf7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpquef_7oc/lazy-executed')\nordinary=Path('/tmp/tmpquef_7oc/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"asyncgen\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp36twpyig/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-coroutine.json new file mode 100644 index 000000000..82d250404 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpywlsi8z9/lazy-executed')\nordinary=Path('/tmp/tmpywlsi8z9/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"coroutine\")\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmphswz2_eq/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-generator.json new file mode 100644 index 000000000..d22f15357 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp1e1eo6pa/lazy-executed')\nordinary=Path('/tmp/tmp1e1eo6pa/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text(\"generator\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp1a5w3g5w/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-pass.json new file mode 100644 index 000000000..4985e4a41 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpnms7o5ym/lazy-executed')\nordinary=Path('/tmp/tmpnms7o5ym/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmpe8aps121/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json new file mode 100644 index 000000000..96636386c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpp5lf434b/lazy-executed')\nordinary=Path('/tmp/tmpp5lf434b/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpcv37ul1s/logs/fixture.log", + "log_sha256": "a6aa7b5947ecf8d6410cc1a05f10fa45e17be89ae32c70b571817273a83ededc", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-async-generator.json new file mode 100644 index 000000000..3f48fecb5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpcas59emc/lazy-executed')\nordinary=Path('/tmp/tmpcas59emc/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpqel1x9hz/logs/fixture.log", + "log_sha256": "41d8cafb0a5c3322c4e89e2db95c01e1e7aa4b58312d1ceddd32ab8b6f9714d8", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-coroutine.json new file mode 100644 index 000000000..4966d29be --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-coroutine.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp200vf0xx/lazy-executed')\nordinary=Path('/tmp/tmp200vf0xx/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpa1olljvv/logs/fixture.log", + "log_sha256": "0ef45a08a3871d1956e1310c1a2dbf61293eb3e527262d6e4d3a558a30d78a2c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json new file mode 100644 index 000000000..827fd2fbb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpeqoyssh3/lazy-executed')\nordinary=Path('/tmp/tmpeqoyssh3/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpem9zxqjh/logs/fixture.log", + "log_sha256": "41d8cafb0a5c3322c4e89e2db95c01e1e7aa4b58312d1ceddd32ab8b6f9714d8", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-generator.json new file mode 100644 index 000000000..08ee9dc06 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpem35i9mr/lazy-executed')\nordinary=Path('/tmp/tmpem35i9mr/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpiaqk946f/logs/fixture.log", + "log_sha256": "41d8cafb0a5c3322c4e89e2db95c01e1e7aa4b58312d1ceddd32ab8b6f9714d8", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "lazy return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json new file mode 100644 index 000000000..5a79499f4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpnqybq5v4/lazy-executed')\nordinary=Path('/tmp/tmpnqybq5v4/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpnt43xphi/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json new file mode 100644 index 000000000..252920545 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmppi0q6bsk/lazy-executed')\nordinary=Path('/tmp/tmppi0q6bsk/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp04tk24x9/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-generator.json new file mode 100644 index 000000000..63d67cdf1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp9gmopgxq/lazy-executed')\nordinary=Path('/tmp/tmp9gmopgxq/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmppfhr_jn1/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json new file mode 100644 index 000000000..a6340ccae --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp_2wana1d/lazy-executed')\nordinary=Path('/tmp/tmp_2wana1d/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n @lazy_middle\n def test_a_lazy(self): pass\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-lazy-middle", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp69b_vas1/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-ignore-middle-wraps-layers.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-ignore-middle-wraps-layers.log new file mode 100644 index 000000000..7d922e192 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-ignore-middle-wraps-layers.log @@ -0,0 +1,15 @@ +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... + test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='lazy-middle') ... FAIL + +====================================================================== +FAIL: test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='lazy-middle') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-orpmvv2y/tests/test_mutation_runner.py", line 233, in test_wraps_decorated_lazy_functions_are_refused_at_population + self.assertFalse(record['lazy_sentinel_executed'],record) +AssertionError: True is not false : {'label': 'wrapped-lazy-middle', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmppjg47kuj/lazy-executed\')\nordinary=Path(\'/tmp/tmppjg47kuj/ordinary-executed\')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n @lazy_middle\n def test_a_lazy(self): pass\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['lazy return from selected method: test_auditor.C.test_a_lazy'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-orpmvv2y/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpey20vlmc/logs/fixture.log', 'log_sha256': 'b8ba195471f7669e709e55299e8e73f35b930c7cc80fc090771e1f4f7137677a'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.132s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-lazy-controls.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-lazy-controls.log new file mode 100644 index 000000000..6c75e028a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/optimized-lazy-controls.log @@ -0,0 +1,9 @@ +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... ok +test_ordinary_sync_bodies_preserve_kills_without_iterating_unknown_values (test_mutation_runner.LazyBodyHarnessRules.test_ordinary_sync_bodies_preserve_kills_without_iterating_unknown_values) ... ok +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... ok +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok + +---------------------------------------------------------------------- +Ran 4 tests in 4.369s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/run-new-guard-source-controls.py b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/run-new-guard-source-controls.py new file mode 100644 index 000000000..f5815745e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/run-new-guard-source-controls.py @@ -0,0 +1,40 @@ +"""Run actual lazy-body grader source mutants against only new contract controls.""" +from pathlib import Path +import hashlib,importlib.util,json,os,subprocess,sys,tempfile +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1]/'work/layer_a' +runner=ROOT/'mutation_test.py' +spec=importlib.util.spec_from_file_location('trusted_lazy_body_runner',runner) +trusted=importlib.util.module_from_spec(spec);spec.loader.exec_module(trusted) +source=runner.read_text() +prefix='test_mutation_runner.LazyBodyHarnessRules.' +mutants=[ + ('drop-pristine-lazy-method-refusal','not ordinary_sync_method(getattr(test,method,None))','not callable(getattr(test,method,None))','test_mixed_lazy_function_shapes_are_refused_before_any_body'), + ('ignore-middle-wraps-layers',' current=method\n',' current=unwrapped\n','test_wraps_decorated_lazy_functions_are_refused_at_population'), + ('accept-lazy-return-objects','if unsupported_lazy_return(value):','if False:','test_sync_lazy_returns_are_rejected_without_advancing_objects'), + ('accept-custom-awaitable-returns',' or inspect.isawaitable(value)','', 'test_sync_lazy_returns_are_rejected_without_advancing_objects'), + ('advance-coroutine-instead-of-close',' value.close()',' value.send(None)','test_sync_lazy_returns_are_rejected_without_advancing_objects'), +] +records=[] +for mode in ('normal','optimized'): + for name,before,after,method in mutants: + if source.count(before)!=1:raise ValueError((name,source.count(before))) + changed=source.replace(before,after,1);selection=prefix+method + with tempfile.TemporaryDirectory(prefix='cbz-lazy-layer-guard-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + (root/'mutation_test.py').write_text(changed) + (root/'tests/test_mutation_runner.py').write_bytes((ROOT/'tests/test_mutation_runner.py').read_bytes()) + result=root/'trusted-result.json' + command=[sys.executable,'-B','-S']+(['-O'] if mode=='optimized' else [])+[str(runner),'--internal-test-runner','--output',str(result),'--test-root',str(root/'tests'),'--test',selection] + env=dict(os.environ);env.pop('PYTHONPATH',None) + if mode=='optimized':env['PYTHONOPTIMIZE']='1' + else:env.pop('PYTHONOPTIMIZE',None) + env['CBZ_LAZY_CONTROL_EVIDENCE']=str(HERE/'guard-fixtures'/mode/name) + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=30) + value=json.loads(result.read_text()) if result.is_file() else {} + outcome=trusted.classify_test_result(value,p.returncode,expected_ids=[selection]) + log=HERE/(mode+'-'+name+'.log');log.write_text(p.stdout) + record={'name':name,'mode':mode,'file':'mutation_test.py','before':before,'after':after,'original_sha256':hashlib.sha256(source.encode()).hexdigest(),'mutated_sha256':hashlib.sha256(changed.encode()).hexdigest(),'selected_test':selection,'outcome':outcome,'returncode':p.returncode,'tests':value,'log':str(log),'log_sha256':hashlib.sha256(p.stdout.encode()).hexdigest()} + records.append(record);print(mode,name,outcome,flush=True) +(HERE/'new-guard-source-controls.json').write_text(json.dumps({'scope':'five new lazy-body grader source mutants in two modes; old controls reused','planned':10,'executed':len(records),'killed':sum(r['outcome']=='KILLED' for r in records),'results':records},sort_keys=True,indent=2)+'\n') +if not all(r['outcome']=='KILLED' for r in records):raise RuntimeError('a lazy safeguard source control did not produce a clean assertion kill') diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/source/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/source/mutation_test.py new file mode 100644 index 000000000..fc2490ef0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/source/mutation_test.py @@ -0,0 +1,471 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + +def unsupported_lazy_return(value): + """Inspect shape only; never iterate or await a returned object.""" + return (inspect.isgenerator(value) or inspect.iscoroutine(value) + or inspect.isasyncgen(value) or inspect.isawaitable(value)) + + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,selected,invalid=inspect_test_population(suite) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if unsupported_lazy_return(value): + receipt['invalid_population'].append('lazy return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + setattr(test,method,body) + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=unittest.TextTestRunner(stream=stream,verbosity=2,resultclass=PhaseResult).run(suite) + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=unittest.TestLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/source/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/source/tests/test_mutation_runner.py new file mode 100644 index 000000000..f20e1c1a8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/lazy-types-generation/source/tests/test_mutation_runner.py @@ -0,0 +1,254 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +import json +import os +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +class LifecycleHarnessRules(unittest.TestCase): + """Catch false kills from lifecycle assertions and incomplete body execution.""" + + def run_fixture(self, source, transform=None): + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + for name in ('auditor.py','source_checks.py','canonical_lean.py'): + (root/name).write_text('fixture_source = True\n') + (root/'tests/test_auditor.py').write_text(source) + previous=mutation_test.HERE + try: + mutation_test.HERE=root + return mutation_test.run_one('fixture','source_checks.py',transform or (lambda s:s),root/'logs') + finally: + mutation_test.HERE=previous + + def test_body_assertion_kills_and_identity_survives(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body sentinel")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']) + + def test_setup_teardown_cleanup_assertions_cannot_kill(self): + fixtures=[ + ' def setUp(self): self.fail("setup")\n def test_one(self): pass\n', + ' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n', + ' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n', + ' def _callTestMethod(self, method): self.fail("dispatch hook")\n def test_one(self): pass\n', + ' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup")\n', + ' @classmethod\n def setUpClass(cls): raise AssertionError("class setup")\n def test_one(self): pass\n', + ' def test_one(self): pass\n @classmethod\n def tearDownClass(cls): raise AssertionError("class teardown")\n', + ' def test_one(self): self.addClassCleanup(self.fail,"class cleanup")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_errors_skips_expected_failures_and_subtests_are_ambiguous(self): + fixtures=[ + ' def test_one(self): raise RuntimeError("body error")\n', + ' @unittest.skip("skip")\n def test_one(self): pass\n', + ' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n', + ' @unittest.expectedFailure\n def test_one(self): pass\n', + ' def setUp(self):\n with self.subTest(x=1): self.fail("setup subtest")\n def test_one(self): pass\n', + ' def test_one(self):\n with self.subTest(x=1): raise RuntimeError("subtest error")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_body_scoped_subtests_have_exact_parent_assertion_events(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n for x in (1,2):\n with self.subTest(x=x): self.fail("subtest body")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['subtests'],2) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']*2) + self.assertEqual(killed['tests']['body_finished_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + + def test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected(self): + fixtures=[ + 'import unittest\ndef load_tests(loader, tests, pattern): return unittest.TestSuite()\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n', + 'raise RuntimeError("import sentinel")\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n', + 'import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n', + ] + for fixture in fixtures: + with self.subTest(fixture=fixture): + value=self.run_fixture(fixture) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_assertion_event_provenance_rejects_duplicate_direct_failures(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n')['tests'] + forged=copy.deepcopy(value);forged['assertion_failures']=2 + forged['body_assertion_ids']=['test_auditor.C.test_one']*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + forged['assertion_events']=[{'id':'test_auditor.C.test_one','source':'direct'}]*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + + def test_expected_population_is_bound_before_mutation(self): + source='import unittest\nimport source_checks\nclass C(unittest.TestCase):\n def test_one(self): pass\n def test_two(self): self.fail("wrong population")\ndef load_tests(loader, tests, pattern):\n return unittest.TestSuite([C("test_one" if source_checks.fixture_source else "test_two")])\n' + result=self.run_fixture(source,lambda s:s.replace('fixture_source = True','fixture_source = False')) + self.assertEqual(result['outcome'],'ERROR',result) + self.assertEqual(result['expected_ids'],['test_auditor.C.test_one']) + self.assertEqual(result['tests']['selected_ids'],['test_auditor.C.test_two']) + + def test_missing_forged_or_noninteger_receipts_fail_closed(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n') + trusted=value.get('tests',{}) + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + self.assertEqual(mutation_test.classify_test_result(trusted,1,expected_ids=['test_auditor.C.test_other']),'ERROR') + duplicate=copy.deepcopy(trusted) + for key in ('selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids'): + duplicate[key]*=2 + duplicate['tests_run']=2;duplicate['assertion_failures']=2 + duplicate['assertion_events']=[{'id':'test_auditor.C.test_one','source':'subtest'}]*2 + duplicate['subtests']=2 + duplicate['subtest_events']=[{'id':'test_auditor.C.test_one','phase':'body','outcome':'assertion'}]*2 + self.assertEqual(mutation_test.classify_test_result(duplicate,1),'ERROR') + for field in ('receipt_schema','selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids','invalid_population','subtests','subtest_events','assertion_events','lifecycle_failures'): + with self.subTest(missing=field): + forged=copy.deepcopy(trusted);forged.pop(field,None) + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field in ('tests_run','assertion_failures','errors','skipped','expected_failures','unexpected_successes','lifecycle_failures','subtests'): + with self.subTest(noninteger=field): + forged=copy.deepcopy(trusted);forged[field]=True + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field, replacement in [('started_ids',[]),('body_finished_ids',[]),('body_entered_ids',['test_auditor.C.test_one']*2),('body_assertion_ids',['forged.method']),('selected_ids',['test_auditor.C.test_one']*2),('invalid_population',['forged']),('lifecycle_failures',1),('subtests',1),('successful',1)]: + with self.subTest(forged=field): + forged=copy.deepcopy(trusted);forged[field]=replacement + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + subtest=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): self.fail("body")\n')['tests'] + for replacement in ({'id':'test_auditor.C.test_one','phase':'cleanup','outcome':'assertion'}, + {'id':'forged.method','phase':'body','outcome':'assertion'}, + {'id':'test_auditor.C.test_one','phase':'body','outcome':'error'}): + with self.subTest(subtest_event=replacement): + forged=copy.deepcopy(subtest);forged['subtest_events']=[replacement] + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + +class LazyBodyHarnessRules(unittest.TestCase): + """Lazy call creation cannot satisfy synchronous selected-body execution.""" + + def run_lazy_fixture(self,label,body): + with tempfile.TemporaryDirectory() as temporary: + sentinel=Path(temporary)/'lazy-executed' + ordinary=Path(temporary)/'ordinary-executed' + source=('from pathlib import Path\nimport unittest\nimport functools\n' + +'sentinel=Path('+repr(str(sentinel))+')\n' + +'ordinary=Path('+repr(str(ordinary))+')\n'+body) + value=LifecycleHarnessRules.run_fixture(self,source) + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':source, + 'lazy_sentinel_executed':sentinel.exists(), + 'ordinary_sentinel_executed':ordinary.exists(),'receipt':value} + destination=os.environ.get('CBZ_LAZY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return record + + def test_ordinary_sync_bodies_preserve_kills_without_iterating_unknown_values(self): + passed=self.run_lazy_fixture('ordinary-pass','class C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['receipt']['outcome'],'SURVIVED',passed) + killed=self.run_lazy_fixture('ordinary-unknown-iterable', + 'class UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\n' + 'class C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(killed['receipt']['outcome'],'KILLED',killed) + self.assertFalse(killed['lazy_sentinel_executed'],killed) + self.assertTrue(killed['ordinary_sentinel_executed'],killed) + + def test_mixed_lazy_function_shapes_are_refused_before_any_body(self): + methods=[('generator',' def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n'), + ('async-generator',' async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('method-'+label,'class C(unittest.TestCase):\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_wraps_decorated_lazy_functions_are_refused_at_population(self): + decorator=('def transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\n' + 'def lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\n') + methods=[('generator',' def test_a_lazy(self):\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n return None\n'), + ('async-generator',' async def test_a_lazy(self):\n yield 1\n'), + ('lazy-middle',' @lazy_middle\n def test_a_lazy(self): pass\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('wrapped-'+label,decorator+'class C(unittest.TestCase):\n @transparent\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): + returns=[('generator','def make_lazy():\n sentinel.write_text("generator")\n yield 1\n','make_lazy()'), + ('coroutine','async def make_lazy():\n sentinel.write_text("coroutine")\n','make_lazy()'), + ('async-generator','async def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\n','make_lazy()'), + ('custom-awaitable','class CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\n','CustomAwaitable()')] + for label,definitions,expression in returns: + with self.subTest(shape=label): + record=self.run_lazy_fixture('return-'+label,definitions+'class C(unittest.TestCase):\n' + +' def test_a_lazy(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + self.assertTrue(record['receipt']['tests']['invalid_population'],record) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/mixed-generator-red.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/mixed-generator-red.log new file mode 100644 index 000000000..b0636d73c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/mixed-generator-red.log @@ -0,0 +1,16 @@ +test_a_lazy (test_auditor.C.test_a_lazy) ... ok +test_b_assertion (test_auditor.C.test_b_assertion) ... FAIL + +====================================================================== +FAIL: test_b_assertion (test_auditor.C.test_b_assertion) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: ordinary body sentinel + +---------------------------------------------------------------------- +Ran 2 tests in 0.000s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/new-guard-source-controls.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/new-guard-source-controls.json new file mode 100644 index 000000000..d76b3a3e0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/new-guard-source-controls.json @@ -0,0 +1,542 @@ +{ + "executed": 6, + "killed": 6, + "planned": 6, + "results": [ + { + "after": "if False:", + "before": "if value is not None:", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-accept-non-none-return-objects.log", + "log_sha256": "b43c342618dd83e53ac33fbf29442f34fbb1bb93e3cd9999ec596e42351fbd5c", + "mode": "normal", + "mutated_sha256": "bdc13d8bc2798b91acdffdd0bd17e1d8865aba9fef3d6a6cf8d41c8937e15008", + "name": "accept-non-none-return-objects", + "original_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "direct" + } + ], + "assertion_failures": 5, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... \n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar') ... FAIL\ntest_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-zero', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp82249x9r/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp82249x9r/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return 0\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp2u_onkgi/logs/fixture.log', 'log_sha256': '6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-false', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmppgnl1m77/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmppgnl1m77/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return False\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpoytcnfvy/logs/fixture.log', 'log_sha256': '6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-empty-string', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmplnesn4us/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmplnesn4us/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return \\'\\'\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpg72p76jy/logs/fixture.log', 'log_sha256': '8793e912b707958c35c88c7970ad9f1e7500fb42bb91d39c38f5c11a1d48832c'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-scalar', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp1hnl6byp/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp1hnl6byp/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return 7\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_l4riha6/logs/fixture.log', 'log_sha256': '6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'ordinary-unknown-iterable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp_k691kiu/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp_k691kiu/ordinary-executed\\')\\nclass UnknownIterable:\\n def __iter__(self):\\n sentinel.write_text(\"iterated\")\\n yield 1\\nclass C(unittest.TestCase):\\n def test_a_return(self): return UnknownIterable()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpyr9zig_x/logs/fixture.log', 'log_sha256': '6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985'}}\n\n----------------------------------------------------------------------\nRan 1 test in 1.069s\n\nFAILED (failures=5)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": "if value:", + "before": "if value is not None:", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-accept-falsey-non-none-returns.log", + "log_sha256": "51c8bfa5fef9f7bf784166942301065a1b17fc1451c530111e7ca000ad061252", + "mode": "normal", + "mutated_sha256": "3ad0966aee386111fcd696698ad685167936c38a43bf50621d5ce8c0d921a9d2", + "name": "accept-falsey-non-none-returns", + "original_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + } + ], + "assertion_failures": 3, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... \n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-zero', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp7vzg8o23/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp7vzg8o23/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return 0\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpqu919qp0/logs/fixture.log', 'log_sha256': '0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-false', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp9yksx6g3/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp9yksx6g3/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return False\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpa56bl4ic/logs/fixture.log', 'log_sha256': '0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-empty-string', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpjupysvvv/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpjupysvvv/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return \\'\\'\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpassypybf/logs/fixture.log', 'log_sha256': '0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a'}}\n\n----------------------------------------------------------------------\nRan 1 test in 1.009s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": " if hasattr(value,'__iter__'): list(value)\n # Closing a fresh native coroutine", + "before": " # Closing a fresh native coroutine", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-iterate-unknown-return-objects.log", + "log_sha256": "8dea0357a259fb52b0b9fc16aa64ef526d9e8a9328af0a0cd990b1fe5bc54493", + "mode": "normal", + "mutated_sha256": "eb56baa2b3190b8e766a2ca122c424103536d200070a9167844caf550580c77d", + "name": "iterate-unknown-return-objects", + "original_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: True is not false : {'label': 'ordinary-unknown-iterable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpe5ff7z0u/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpe5ff7z0u/ordinary-executed\\')\\nclass UnknownIterable:\\n def __iter__(self):\\n sentinel.write_text(\"iterated\")\\n yield 1\\nclass C(unittest.TestCase):\\n def test_a_return(self): return UnknownIterable()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['non-None return from selected method: test_auditor.C.test_a_return'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-v52cplk7/mutation_test.py\", line 280, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmprr642moy/logs/fixture.log', 'log_sha256': '0994d013cff40e3aa2354dee3f92bf93cf0e7c8cd448bf765253aadd9d3cdecc'}}\n\n----------------------------------------------------------------------\nRan 1 test in 1.004s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": "if False:", + "before": "if value is not None:", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-accept-non-none-return-objects.log", + "log_sha256": "198ffa5f6ec6cfa71544844b5034f9a265f0565308450cffaea2b1d26459986f", + "mode": "optimized", + "mutated_sha256": "bdc13d8bc2798b91acdffdd0bd17e1d8865aba9fef3d6a6cf8d41c8937e15008", + "name": "accept-non-none-return-objects", + "original_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "direct" + } + ], + "assertion_failures": 5, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... \n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar') ... FAIL\ntest_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-zero', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpv13x9tlu/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpv13x9tlu/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return 0\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpdw6kz_fp/logs/fixture.log', 'log_sha256': 'dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-false', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp2utnody9/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp2utnody9/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return False\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp7phx9f3b/logs/fixture.log', 'log_sha256': '370b3710049b1c6a5ff247ad715ee4a0dfa80e9caa3fcb90be1e1067feea38c5'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-empty-string', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpchxmgdmg/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpchxmgdmg/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return \\'\\'\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpwzk4mm0m/logs/fixture.log', 'log_sha256': '370b3710049b1c6a5ff247ad715ee4a0dfa80e9caa3fcb90be1e1067feea38c5'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-scalar', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpt7u24gks/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpt7u24gks/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return 7\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpmq_xtzgh/logs/fixture.log', 'log_sha256': 'dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'ordinary-unknown-iterable', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp5pprvv_l/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp5pprvv_l/ordinary-executed\\')\\nclass UnknownIterable:\\n def __iter__(self):\\n sentinel.write_text(\"iterated\")\\n yield 1\\nclass C(unittest.TestCase):\\n def test_a_return(self): return UnknownIterable()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp9p4dgo5a/logs/fixture.log', 'log_sha256': 'dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f'}}\n\n----------------------------------------------------------------------\nRan 1 test in 3.278s\n\nFAILED (failures=5)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": "if value:", + "before": "if value is not None:", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-accept-falsey-non-none-returns.log", + "log_sha256": "b8bd6b7b83df7648ddc26b938eb53a7308dd4b49dcdd5e2aa5e218180a67106b", + "mode": "optimized", + "mutated_sha256": "3ad0966aee386111fcd696698ad685167936c38a43bf50621d5ce8c0d921a9d2", + "name": "accept-falsey-non-none-returns", + "original_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "subtest" + } + ], + "assertion_failures": 3, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... \n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL\n test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-zero', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmp_t8f3j5z/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmp_t8f3j5z/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return 0\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpm2q7nzik/logs/fixture.log', 'log_sha256': 'f05634f22d1c09a6bc45315c1840f2f5557a7fd05c503c77e6ff1b1dcb67edbd'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-false', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpjzcmq_9x/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpjzcmq_9x/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return False\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmphfxyb0t6/logs/fixture.log', 'log_sha256': '41418d9da1da9ecfa07134450d3e1fe1b23617fb962534690d9cfd1d2e109ec9'}}\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/tests/test_mutation_runner.py\", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration\n self.assertEqual(record['receipt']['outcome'],'ERROR',record)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'label': 'return-empty-string', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmpy0kcu0gl/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmpy0kcu0gl/ordinary-executed\\')\\nclass C(unittest.TestCase):\\n def test_a_return(self): return \\'\\'\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py\", line 279, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpvcwr96xv/logs/fixture.log', 'log_sha256': 'f05634f22d1c09a6bc45315c1840f2f5557a7fd05c503c77e6ff1b1dcb67edbd'}}\n\n----------------------------------------------------------------------\nRan 1 test in 3.266s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "after": " if hasattr(value,'__iter__'): list(value)\n # Closing a fresh native coroutine", + "before": " # Closing a fresh native coroutine", + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-iterate-unknown-return-objects.log", + "log_sha256": "1a5ffaa1242c35792165c948c1f9710e153a52d6dffa22a0e748e4a892a0bd03", + "mode": "optimized", + "mutated_sha256": "eb56baa2b3190b8e766a2ca122c424103536d200070a9167844caf550580c77d", + "name": "iterate-unknown-return-objects", + "original_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_entered_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "body_finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL\n\n======================================================================\nFAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: True is not false : {'label': 'ordinary-unknown-iterable', 'optimize': 1, 'fixture_source': 'from pathlib import Path\\nimport unittest\\nimport functools\\nsentinel=Path(\\'/tmp/tmptw40psyu/lazy-executed\\')\\nordinary=Path(\\'/tmp/tmptw40psyu/ordinary-executed\\')\\nclass UnknownIterable:\\n def __iter__(self):\\n sentinel.write_text(\"iterated\")\\n yield 1\\nclass C(unittest.TestCase):\\n def test_a_return(self): return UnknownIterable()\\n def test_b_assertion(self):\\n ordinary.write_text(\"body\")\\n self.fail(\"ordinary body assertion\")\\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['non-None return from selected method: test_auditor.C.test_a_return'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\\n\\n======================================================================\\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-lazy-layer-guard-csaccz6w/mutation_test.py\", line 280, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: ordinary body assertion\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.001s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp09eyl26_/logs/fixture.log', 'log_sha256': '83bfa1ccd97cfe81af52efb4dd8b226ff92dd6f6eb0927792fb55de44af649e1'}}\n\n----------------------------------------------------------------------\nRan 1 test in 3.248s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 4, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + } + ], + "scope": "three final None-return profile source mutants in two modes; unchanged lazy-shape and disposal evidence reused" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-accept-falsey-non-none-returns.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-accept-falsey-non-none-returns.log new file mode 100644 index 000000000..ead33721a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-accept-falsey-non-none-returns.log @@ -0,0 +1,42 @@ +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-kor6w0v4/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-zero', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp7vzg8o23/lazy-executed\')\nordinary=Path(\'/tmp/tmp7vzg8o23/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpqu919qp0/logs/fixture.log', 'log_sha256': '0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-kor6w0v4/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-false', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp9yksx6g3/lazy-executed\')\nordinary=Path(\'/tmp/tmp9yksx6g3/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpa56bl4ic/logs/fixture.log', 'log_sha256': '0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-kor6w0v4/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-empty-string', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpjupysvvv/lazy-executed\')\nordinary=Path(\'/tmp/tmpjupysvvv/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return \'\'\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-kor6w0v4/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpassypybf/logs/fixture.log', 'log_sha256': '0b1e96d3e266fd0c054d1bbe6d3ad6c8e82128473d098862b313b023110d188a'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.009s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-accept-non-none-return-objects.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-accept-non-none-return-objects.log new file mode 100644 index 000000000..ed95f67b2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-accept-non-none-return-objects.log @@ -0,0 +1,67 @@ +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar') ... FAIL +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-4fth1q53/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-zero', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp82249x9r/lazy-executed\')\nordinary=Path(\'/tmp/tmp82249x9r/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp2u_onkgi/logs/fixture.log', 'log_sha256': '6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-4fth1q53/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-false', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmppgnl1m77/lazy-executed\')\nordinary=Path(\'/tmp/tmppgnl1m77/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpoytcnfvy/logs/fixture.log', 'log_sha256': '6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-4fth1q53/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-empty-string', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmplnesn4us/lazy-executed\')\nordinary=Path(\'/tmp/tmplnesn4us/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return \'\'\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpg72p76jy/logs/fixture.log', 'log_sha256': '8793e912b707958c35c88c7970ad9f1e7500fb42bb91d39c38f5c11a1d48832c'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-4fth1q53/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-scalar', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp1hnl6byp/lazy-executed\')\nordinary=Path(\'/tmp/tmp1hnl6byp/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_l4riha6/logs/fixture.log', 'log_sha256': '6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 279, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'ordinary-unknown-iterable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp_k691kiu/lazy-executed\')\nordinary=Path(\'/tmp/tmp_k691kiu/ordinary-executed\')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-4fth1q53/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpyr9zig_x/logs/fixture.log', 'log_sha256': '6a068901d651836f23ec4d26435755bc135f6a53914b3384164c8c1e8b468985'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.069s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-async-generator.json new file mode 100644 index 000000000..b0e85c70e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp1sld5gbl/lazy-executed')\nordinary=Path('/tmp/tmp1sld5gbl/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"asyncgen\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpw4wsswpn/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-coroutine.json new file mode 100644 index 000000000..77e223eae --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpb_grik9g/lazy-executed')\nordinary=Path('/tmp/tmpb_grik9g/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"coroutine\")\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpmzas5lrx/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-generator.json new file mode 100644 index 000000000..e1664cec6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/method-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp4ikl01nf/lazy-executed')\nordinary=Path('/tmp/tmp4ikl01nf/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text(\"generator\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpatzz7d55/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-none-kill.json new file mode 100644 index 000000000..cbd9255e0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpqmydrl8u/lazy-executed')\nordinary=Path('/tmp/tmpqmydrl8u/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpu1z_p30m/logs/fixture.log", + "log_sha256": "71ac0d526c00744369eaaddd6b97fbb3885a96df455f882de0dbbd39d270bb9c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-pass.json new file mode 100644 index 000000000..a66df8e06 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp0r4vq8s0/lazy-executed')\nordinary=Path('/tmp/tmp0r4vq8s0/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmpfnjxfwsy/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-unknown-iterable.json new file mode 100644 index 000000000..7b48c75fe --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/ordinary-unknown-iterable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpx3vlbjfm/lazy-executed')\nordinary=Path('/tmp/tmpx3vlbjfm/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp1391x_2_/logs/fixture.log", + "log_sha256": "71ac0d526c00744369eaaddd6b97fbb3885a96df455f882de0dbbd39d270bb9c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-async-generator.json new file mode 100644 index 000000000..ebe6ad5f5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpd62hdn12/lazy-executed')\nordinary=Path('/tmp/tmpd62hdn12/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpzj8ztth1/logs/fixture.log", + "log_sha256": "b22ac2b8627f4c9f1275357729c010fd55658cae3d82e572649518e9f17bb82d", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-coroutine.json new file mode 100644 index 000000000..c116fc2fb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-coroutine.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpeo45280s/lazy-executed')\nordinary=Path('/tmp/tmpeo45280s/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmps9156puj/logs/fixture.log", + "log_sha256": "b22ac2b8627f4c9f1275357729c010fd55658cae3d82e572649518e9f17bb82d", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-custom-awaitable.json new file mode 100644 index 000000000..28a1e849a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-custom-awaitable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmptq9p541r/lazy-executed')\nordinary=Path('/tmp/tmptq9p541r/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpg7mo3cnj/logs/fixture.log", + "log_sha256": "b22ac2b8627f4c9f1275357729c010fd55658cae3d82e572649518e9f17bb82d", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-empty-string.json new file mode 100644 index 000000000..0ab9e4793 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-empty-string.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpvg5rus2j/lazy-executed')\nordinary=Path('/tmp/tmpvg5rus2j/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpkjarswsg/logs/fixture.log", + "log_sha256": "71ac0d526c00744369eaaddd6b97fbb3885a96df455f882de0dbbd39d270bb9c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-false.json new file mode 100644 index 000000000..766444942 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-false.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpho09kulo/lazy-executed')\nordinary=Path('/tmp/tmpho09kulo/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpe8th7jty/logs/fixture.log", + "log_sha256": "71ac0d526c00744369eaaddd6b97fbb3885a96df455f882de0dbbd39d270bb9c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-generator.json new file mode 100644 index 000000000..1962d6ed7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpxtl8b31t/lazy-executed')\nordinary=Path('/tmp/tmpxtl8b31t/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmph6mzgwwt/logs/fixture.log", + "log_sha256": "b22ac2b8627f4c9f1275357729c010fd55658cae3d82e572649518e9f17bb82d", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-scalar.json new file mode 100644 index 000000000..69f6f7759 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-scalar.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpzh3kjofx/lazy-executed')\nordinary=Path('/tmp/tmpzh3kjofx/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpnitd6vpm/logs/fixture.log", + "log_sha256": "71ac0d526c00744369eaaddd6b97fbb3885a96df455f882de0dbbd39d270bb9c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-zero.json new file mode 100644 index 000000000..cacd803bf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/return-zero.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpbtnu24al/lazy-executed')\nordinary=Path('/tmp/tmpbtnu24al/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpdj6iwln4/logs/fixture.log", + "log_sha256": "71ac0d526c00744369eaaddd6b97fbb3885a96df455f882de0dbbd39d270bb9c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-async-generator.json new file mode 100644 index 000000000..189e7e420 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmps65cj1gm/lazy-executed')\nordinary=Path('/tmp/tmps65cj1gm/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpiav8khoc/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-coroutine.json new file mode 100644 index 000000000..8b793d55c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpii89lmaq/lazy-executed')\nordinary=Path('/tmp/tmpii89lmaq/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpx474o5bw/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-generator.json new file mode 100644 index 000000000..2a22b7cce --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpljo0njl9/lazy-executed')\nordinary=Path('/tmp/tmpljo0njl9/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpgfu74_2y/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-lazy-middle.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-lazy-middle.json new file mode 100644 index 000000000..8ae4adf77 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-fixtures/wrapped-lazy-middle.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp1qhyss14/lazy-executed')\nordinary=Path('/tmp/tmp1qhyss14/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n @lazy_middle\n def test_a_lazy(self): pass\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-lazy-middle", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp8w0w2q44/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-iterate-unknown-return-objects.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-iterate-unknown-return-objects.log new file mode 100644 index 000000000..15559e5b4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-iterate-unknown-return-objects.log @@ -0,0 +1,15 @@ +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 279, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: True is not false : {'label': 'ordinary-unknown-iterable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpe5ff7z0u/lazy-executed\')\nordinary=Path(\'/tmp/tmpe5ff7z0u/ordinary-executed\')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['non-None return from selected method: test_auditor.C.test_a_return'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-v52cplk7/mutation_test.py", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmprr642moy/logs/fixture.log', 'log_sha256': '0994d013cff40e3aa2354dee3f92bf93cf0e7c8cd448bf765253aadd9d3cdecc'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.004s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-lazy-controls.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-lazy-controls.log new file mode 100644 index 000000000..0f52b92d8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/normal-lazy-controls.log @@ -0,0 +1,9 @@ +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... ok +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... ok +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... ok +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok + +---------------------------------------------------------------------- +Ran 4 tests in 2.166s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-accept-falsey-non-none-returns.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-accept-falsey-non-none-returns.log new file mode 100644 index 000000000..950e5457b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-accept-falsey-non-none-returns.log @@ -0,0 +1,42 @@ +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-yeqiu3q3/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-zero', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp_t8f3j5z/lazy-executed\')\nordinary=Path(\'/tmp/tmp_t8f3j5z/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpm2q7nzik/logs/fixture.log', 'log_sha256': 'f05634f22d1c09a6bc45315c1840f2f5557a7fd05c503c77e6ff1b1dcb67edbd'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-yeqiu3q3/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-false', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpjzcmq_9x/lazy-executed\')\nordinary=Path(\'/tmp/tmpjzcmq_9x/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmphfxyb0t6/logs/fixture.log', 'log_sha256': '41418d9da1da9ecfa07134450d3e1fe1b23617fb962534690d9cfd1d2e109ec9'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-yeqiu3q3/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-empty-string', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpy0kcu0gl/lazy-executed\')\nordinary=Path(\'/tmp/tmpy0kcu0gl/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return \'\'\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-yeqiu3q3/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpvcwr96xv/logs/fixture.log', 'log_sha256': 'f05634f22d1c09a6bc45315c1840f2f5557a7fd05c503c77e6ff1b1dcb67edbd'}} + +---------------------------------------------------------------------- +Ran 1 test in 3.266s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-accept-non-none-return-objects.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-accept-non-none-return-objects.log new file mode 100644 index 000000000..f9b534e78 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-accept-non-none-return-objects.log @@ -0,0 +1,67 @@ +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar') ... FAIL +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-c57m7ko4/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-zero', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpv13x9tlu/lazy-executed\')\nordinary=Path(\'/tmp/tmpv13x9tlu/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpdw6kz_fp/logs/fixture.log', 'log_sha256': 'dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-c57m7ko4/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-false', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp2utnody9/lazy-executed\')\nordinary=Path(\'/tmp/tmp2utnody9/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp7phx9f3b/logs/fixture.log', 'log_sha256': '370b3710049b1c6a5ff247ad715ee4a0dfa80e9caa3fcb90be1e1067feea38c5'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-c57m7ko4/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-empty-string', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpchxmgdmg/lazy-executed\')\nordinary=Path(\'/tmp/tmpchxmgdmg/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return \'\'\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpwzk4mm0m/logs/fixture.log', 'log_sha256': '370b3710049b1c6a5ff247ad715ee4a0dfa80e9caa3fcb90be1e1067feea38c5'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-lazy-layer-guard-c57m7ko4/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-scalar', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpt7u24gks/lazy-executed\')\nordinary=Path(\'/tmp/tmpt7u24gks/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpmq_xtzgh/logs/fixture.log', 'log_sha256': 'dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 279, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'ordinary-unknown-iterable', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp5pprvv_l/lazy-executed\')\nordinary=Path(\'/tmp/tmp5pprvv_l/ordinary-executed\')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-c57m7ko4/mutation_test.py", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp9p4dgo5a/logs/fixture.log', 'log_sha256': 'dc37f1e5033156d97c8845c42bf490fda2428e667fad018e80faa20b8a3a968f'}} + +---------------------------------------------------------------------- +Ran 1 test in 3.278s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-async-generator.json new file mode 100644 index 000000000..0550752db --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp_gitvkli/lazy-executed')\nordinary=Path('/tmp/tmp_gitvkli/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"asyncgen\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp4ndo5nau/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-coroutine.json new file mode 100644 index 000000000..44274c23e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpyycpr_7k/lazy-executed')\nordinary=Path('/tmp/tmpyycpr_7k/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"coroutine\")\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp792pgopp/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-generator.json new file mode 100644 index 000000000..4932b870f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/method-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp8mxy3okl/lazy-executed')\nordinary=Path('/tmp/tmp8mxy3okl/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text(\"generator\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmprxxnmcgg/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-none-kill.json new file mode 100644 index 000000000..6e34fafdb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpnfef46j7/lazy-executed')\nordinary=Path('/tmp/tmpnfef46j7/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmps1mmjpn8/logs/fixture.log", + "log_sha256": "6e1b590701b54d56bd6dc3eada7e4e523e6761cec5ab5eafacd3e55696a14a9e", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-pass.json new file mode 100644 index 000000000..783af7211 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp735cdj34/lazy-executed')\nordinary=Path('/tmp/tmp735cdj34/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmp1q_b8u61/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-unknown-iterable.json new file mode 100644 index 000000000..8d60da10c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/ordinary-unknown-iterable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpdrg4a8yl/lazy-executed')\nordinary=Path('/tmp/tmpdrg4a8yl/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpwoya4sk4/logs/fixture.log", + "log_sha256": "6e1b590701b54d56bd6dc3eada7e4e523e6761cec5ab5eafacd3e55696a14a9e", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-async-generator.json new file mode 100644 index 000000000..009a242ba --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-async-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpg9al1n1z/lazy-executed')\nordinary=Path('/tmp/tmpg9al1n1z/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpj50y9881/logs/fixture.log", + "log_sha256": "15058951d06d29ab878c7cf9ea6dd222e4ebe2ff5ba5e644784e0b591dbbdd0c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-coroutine.json new file mode 100644 index 000000000..b95d1e5b0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-coroutine.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpw9f5w91k/lazy-executed')\nordinary=Path('/tmp/tmpw9f5w91k/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpqlbc_kna/logs/fixture.log", + "log_sha256": "b22ac2b8627f4c9f1275357729c010fd55658cae3d82e572649518e9f17bb82d", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-custom-awaitable.json new file mode 100644 index 000000000..395925841 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-custom-awaitable.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpcd3egs4y/lazy-executed')\nordinary=Path('/tmp/tmpcd3egs4y/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpxjruihrb/logs/fixture.log", + "log_sha256": "15058951d06d29ab878c7cf9ea6dd222e4ebe2ff5ba5e644784e0b591dbbdd0c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-empty-string.json new file mode 100644 index 000000000..e9fda819e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-empty-string.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpwx30iqah/lazy-executed')\nordinary=Path('/tmp/tmpwx30iqah/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpl167h3ep/logs/fixture.log", + "log_sha256": "6e1b590701b54d56bd6dc3eada7e4e523e6761cec5ab5eafacd3e55696a14a9e", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-false.json new file mode 100644 index 000000000..b383f7422 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-false.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplu_sg0so/lazy-executed')\nordinary=Path('/tmp/tmplu_sg0so/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp3f15nwx8/logs/fixture.log", + "log_sha256": "6e1b590701b54d56bd6dc3eada7e4e523e6761cec5ab5eafacd3e55696a14a9e", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-generator.json new file mode 100644 index 000000000..446b2b5f9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-generator.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpljh4l47q/lazy-executed')\nordinary=Path('/tmp/tmpljh4l47q/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpvcdg4mga/logs/fixture.log", + "log_sha256": "15058951d06d29ab878c7cf9ea6dd222e4ebe2ff5ba5e644784e0b591dbbdd0c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_lazy" + ], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-scalar.json new file mode 100644 index 000000000..75e37bf40 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-scalar.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpy2fq4u_9/lazy-executed')\nordinary=Path('/tmp/tmpy2fq4u_9/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpnsdkhupp/logs/fixture.log", + "log_sha256": "6e1b590701b54d56bd6dc3eada7e4e523e6761cec5ab5eafacd3e55696a14a9e", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-zero.json new file mode 100644 index 000000000..ec917f6d2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/return-zero.json @@ -0,0 +1,85 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpood758ao/lazy-executed')\nordinary=Path('/tmp/tmpood758ao/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpyux4f9k9/logs/fixture.log", + "log_sha256": "71ac0d526c00744369eaaddd6b97fbb3885a96df455f882de0dbbd39d270bb9c", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [ + "non-None return from selected method: test_auditor.C.test_a_return" + ], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 279, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-async-generator.json new file mode 100644 index 000000000..483c61f6d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-async-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpc22dtlen/lazy-executed')\nordinary=Path('/tmp/tmpc22dtlen/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-async-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpaa5bfbp2/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-coroutine.json new file mode 100644 index 000000000..a93510d3d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-coroutine.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmppkjv5wk7/lazy-executed')\nordinary=Path('/tmp/tmppkjv5wk7/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-coroutine", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpmqbi588s/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-generator.json new file mode 100644 index 000000000..a60e73262 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-generator.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpx84eb4xf/lazy-executed')\nordinary=Path('/tmp/tmpx84eb4xf/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-generator", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpwy5o0419/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-lazy-middle.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-lazy-middle.json new file mode 100644 index 000000000..7f46ae336 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-fixtures/wrapped-lazy-middle.json @@ -0,0 +1,35 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpds8l_365/lazy-executed')\nordinary=Path('/tmp/tmpds8l_365/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\ndef lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"middle executed\")\n yield fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n @lazy_middle\n def test_a_lazy(self): pass\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-lazy-middle", + "lazy_sentinel_executed": false, + "optimize": 1, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmprp0ec002/logs/fixture.log", + "log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [ + "test_auditor.C.test_a_lazy" + ], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": {}, + "tests_run": 0 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-iterate-unknown-return-objects.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-iterate-unknown-return-objects.log new file mode 100644 index 000000000..63a100c2a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-iterate-unknown-return-objects.log @@ -0,0 +1,15 @@ +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 279, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: True is not false : {'label': 'ordinary-unknown-iterable', 'optimize': 1, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmptw40psyu/lazy-executed\')\nordinary=Path(\'/tmp/tmptw40psyu/ordinary-executed\')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': ['non-None return from selected method: test_auditor.C.test_a_return'], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-lazy-layer-guard-csaccz6w/mutation_test.py", line 280, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp09eyl26_/logs/fixture.log', 'log_sha256': '83bfa1ccd97cfe81af52efb4dd8b226ff92dd6f6eb0927792fb55de44af649e1'}} + +---------------------------------------------------------------------- +Ran 1 test in 3.248s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-lazy-controls.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-lazy-controls.log new file mode 100644 index 000000000..ce9ec6163 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/optimized-lazy-controls.log @@ -0,0 +1,9 @@ +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... ok +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... ok +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... ok +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... ok + +---------------------------------------------------------------------- +Ran 4 tests in 6.706s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-async-generator.json new file mode 100644 index 000000000..c7092981f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-async-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpms8hfi5j/lazy-executed')\nordinary=Path('/tmp/tmpms8hfi5j/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"asyncgen\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpwq7rlye9/logs/fixture.log", + "log_sha256": "5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-coroutine.json new file mode 100644 index 000000000..6baf4362d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-coroutine.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpm1j6y7ui/lazy-executed')\nordinary=Path('/tmp/tmpm1j6y7ui/ordinary-executed')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text(\"coroutine\")\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpg4g3lan0/logs/fixture.log", + "log_sha256": "42040524f9827e6b6b280b42703681de07c49b1bc54f8d93af2ab59212258421", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.005s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-generator.json new file mode 100644 index 000000000..5794727a6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/method-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpmdgh03ka/lazy-executed')\nordinary=Path('/tmp/tmpmdgh03ka/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text(\"generator\")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "method-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpkeazink5/logs/fixture.log", + "log_sha256": "5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/ordinary-pass.json new file mode 100644 index 000000000..cf05f4314 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpaomfxhod/lazy-executed')\nordinary=Path('/tmp/tmpaomfxhod/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmph045hl7h/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/ordinary-unknown-iterable.json new file mode 100644 index 000000000..bcbe08c03 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/ordinary-unknown-iterable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpeicj82qf/lazy-executed')\nordinary=Path('/tmp/tmpeicj82qf/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp8jhgkpj9/logs/fixture.log", + "log_sha256": "89a16a1f9241c5e9b57221c593578903e531ac8ecabe54aead119df2a1513d7b", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-async-generator.json new file mode 100644 index 000000000..0daab248c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-async-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplx64wxlq/lazy-executed')\nordinary=Path('/tmp/tmplx64wxlq/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"asyncgen\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-async-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpn0due5__/logs/fixture.log", + "log_sha256": "5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-coroutine.json new file mode 100644 index 000000000..d7190b555 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-coroutine.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplm5buuz6/lazy-executed')\nordinary=Path('/tmp/tmplm5buuz6/ordinary-executed')\nasync def make_lazy():\n sentinel.write_text(\"coroutine\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-coroutine", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmptymi9zc0/logs/fixture.log", + "log_sha256": "73a1e7be8b260afcd718c1e1f6fef55d7bfb5a354cca3f1440353b8554abc4ec", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.005s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-custom-awaitable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-custom-awaitable.json new file mode 100644 index 000000000..471080c16 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-custom-awaitable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmplobhvwq6/lazy-executed')\nordinary=Path('/tmp/tmplobhvwq6/ordinary-executed')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text(\"awaited\")\n yield 1\n def close(self): sentinel.write_text(\"custom close\")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-custom-awaitable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpbis4q92a/logs/fixture.log", + "log_sha256": "5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-generator.json new file mode 100644 index 000000000..0ef3653b0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/return-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp830n2c70/lazy-executed')\nordinary=Path('/tmp/tmp830n2c70/ordinary-executed')\ndef make_lazy():\n sentinel.write_text(\"generator\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-generator", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp2zcms3y7/logs/fixture.log", + "log_sha256": "cd8c37e33803693a5a213f2c106b0cd795b102130cbf98d5bf639cc8671e25bd", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-async-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-async-generator.json new file mode 100644 index 000000000..21b221c6a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-async-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp_vze504x/lazy-executed')\nordinary=Path('/tmp/tmp_vze504x/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-async-generator", + "lazy_sentinel_executed": true, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpq1rniczt/logs/fixture.log", + "log_sha256": "5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-coroutine.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-coroutine.json new file mode 100644 index 000000000..273ea22fd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-coroutine.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpc94cl8kt/lazy-executed')\nordinary=Path('/tmp/tmpc94cl8kt/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-coroutine", + "lazy_sentinel_executed": true, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpb_tl4dv7/logs/fixture.log", + "log_sha256": "42040524f9827e6b6b280b42703681de07c49b1bc54f8d93af2ab59212258421", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.005s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-generator.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-generator.json new file mode 100644 index 000000000..029c0f757 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-fixtures/wrapped-generator.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp0zd46ev7/lazy-executed')\nordinary=Path('/tmp/tmp0zd46ev7/ordinary-executed')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text(\"wrapper executed\")\n return fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "wrapped-generator", + "lazy_sentinel_executed": true, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpoaqsbqsn/logs/fixture.log", + "log_sha256": "5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-lazy-controls.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-lazy-controls.log new file mode 100644 index 000000000..e6231217a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-lazy-controls.log @@ -0,0 +1,129 @@ +test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) ... + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator') ... FAIL + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine') ... FAIL + test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator') ... FAIL +test_ordinary_sync_bodies_preserve_kills_without_iterating_unknown_values (test_mutation_runner.LazyBodyHarnessRules.test_ordinary_sync_bodies_preserve_kills_without_iterating_unknown_values) ... ok +test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) ... + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator') ... FAIL + test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') ... FAIL +test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) ... + test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='generator') ... FAIL + test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='coroutine') ... FAIL + test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='async-generator') ... FAIL + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 214, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'method-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpmdgh03ka/lazy-executed\')\nordinary=Path(\'/tmp/tmpmdgh03ka/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpkeazink5/logs/fixture.log', 'log_sha256': '5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9'}} + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 214, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'method-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpm1j6y7ui/lazy-executed\')\nordinary=Path(\'/tmp/tmpm1j6y7ui/ordinary-executed\')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.005s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpg4g3lan0/logs/fixture.log', 'log_sha256': '42040524f9827e6b6b280b42703681de07c49b1bc54f8d93af2ab59212258421'}} + +====================================================================== +FAIL: test_mixed_lazy_function_shapes_are_refused_before_any_body (test_mutation_runner.LazyBodyHarnessRules.test_mixed_lazy_function_shapes_are_refused_before_any_body) (shape='async-generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 214, in test_mixed_lazy_function_shapes_are_refused_before_any_body + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'method-async-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpms8hfi5j/lazy-executed\')\nordinary=Path(\'/tmp/tmpms8hfi5j/ordinary-executed\')\nclass C(unittest.TestCase):\n async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpwq7rlye9/logs/fixture.log', 'log_sha256': '5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 244, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp830n2c70/lazy-executed\')\nordinary=Path(\'/tmp/tmp830n2c70/ordinary-executed\')\ndef make_lazy():\n sentinel.write_text("generator")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp2zcms3y7/logs/fixture.log', 'log_sha256': 'cd8c37e33803693a5a213f2c106b0cd795b102130cbf98d5bf639cc8671e25bd'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 244, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmplm5buuz6/lazy-executed\')\nordinary=Path(\'/tmp/tmplm5buuz6/ordinary-executed\')\nasync def make_lazy():\n sentinel.write_text("coroutine")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.005s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmptymi9zc0/logs/fixture.log', 'log_sha256': '73a1e7be8b260afcd718c1e1f6fef55d7bfb5a354cca3f1440353b8554abc4ec'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='async-generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 244, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-async-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmplx64wxlq/lazy-executed\')\nordinary=Path(\'/tmp/tmplx64wxlq/ordinary-executed\')\nasync def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\nclass C(unittest.TestCase):\n def test_a_lazy(self): return make_lazy()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpn0due5__/logs/fixture.log', 'log_sha256': '5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9'}} + +====================================================================== +FAIL: test_sync_lazy_returns_are_rejected_without_advancing_objects (test_mutation_runner.LazyBodyHarnessRules.test_sync_lazy_returns_are_rejected_without_advancing_objects) (shape='custom-awaitable') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 244, in test_sync_lazy_returns_are_rejected_without_advancing_objects + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-custom-awaitable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmplobhvwq6/lazy-executed\')\nordinary=Path(\'/tmp/tmplobhvwq6/ordinary-executed\')\nclass CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\nclass C(unittest.TestCase):\n def test_a_lazy(self): return CustomAwaitable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpbis4q92a/logs/fixture.log', 'log_sha256': '5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9'}} + +====================================================================== +FAIL: test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 229, in test_wraps_decorated_lazy_functions_are_refused_at_population + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'wrapped-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp0zd46ev7/lazy-executed\')\nordinary=Path(\'/tmp/tmp0zd46ev7/ordinary-executed\')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpoaqsbqsn/logs/fixture.log', 'log_sha256': '5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9'}} + +====================================================================== +FAIL: test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='coroutine') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 229, in test_wraps_decorated_lazy_functions_are_refused_at_population + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'wrapped-coroutine', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpc94cl8kt/lazy-executed\')\nordinary=Path(\'/tmp/tmpc94cl8kt/ordinary-executed\')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n return None\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.005s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpb_tl4dv7/logs/fixture.log', 'log_sha256': '42040524f9827e6b6b280b42703681de07c49b1bc54f8d93af2ab59212258421'}} + +====================================================================== +FAIL: test_wraps_decorated_lazy_functions_are_refused_at_population (test_mutation_runner.LazyBodyHarnessRules.test_wraps_decorated_lazy_functions_are_refused_at_population) (shape='async-generator') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 229, in test_wraps_decorated_lazy_functions_are_refused_at_population + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'wrapped-async-generator', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp_vze504x/lazy-executed\')\nordinary=Path(\'/tmp/tmp_vze504x/ordinary-executed\')\ndef transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\nclass C(unittest.TestCase):\n @transparent\n async def test_a_lazy(self):\n yield 1\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': True, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_lazy', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpq1rniczt/logs/fixture.log', 'log_sha256': '5f733b5802c96bf8e966799e820bd42bfec28746fea6324428dd41f16faf7dd9'}} + +---------------------------------------------------------------------- +Ran 4 tests in 1.712s + +FAILED (failures=10) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-mixed-generator-false-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-mixed-generator-false-kill.json new file mode 100644 index 000000000..a41fb2ea1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-mixed-generator-false-kill.json @@ -0,0 +1,79 @@ +{ + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "fixture_source": "from pathlib import Path\nimport unittest\nclass C(unittest.TestCase):\n def test_a_lazy(self):\n Path('/tmp/tmppr_2252v/lazy-body-executed').write_text(\"executed\")\n yield 1\n def test_b_assertion(self): self.fail(\"ordinary body sentinel\")\n", + "grader_sha256": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "lazy_body_sentinel_executed": false, + "log": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/mixed-generator-red.log", + "log_sha256": "24af48646a104c428a673946b736347c5150a49224f6b04c0a128467d5327410", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "mixed-generator-red", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_lazy (test_auditor.C.test_a_lazy) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body sentinel\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_lazy", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-none-kill.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-none-kill.json new file mode 100644 index 000000000..375ae3106 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-none-kill.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpxp48mire/lazy-executed')\nordinary=Path('/tmp/tmpxp48mire/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return None\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-none-kill", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpc8wfsv60/logs/fixture.log", + "log_sha256": "f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-pass.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-pass.json new file mode 100644 index 000000000..32c98e256 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-pass.json @@ -0,0 +1,63 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpehxeii70/lazy-executed')\nordinary=Path('/tmp/tmpehxeii70/ordinary-executed')\nclass C(unittest.TestCase):\n def test_one(self): pass\n", + "label": "ordinary-pass", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": false, + "receipt": { + "assertion_failures": 0, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_one" + ], + "file": "source_checks.py", + "log": "/tmp/tmpm0dnkt32/logs/fixture.log", + "log_sha256": "c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.C.test_one" + ], + "body_finished_ids": [ + "test_auditor.C.test_one" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.C.test_one" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_one" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_one" + ], + "subtest_events": [], + "subtests": 0, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-unknown-iterable.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-unknown-iterable.json new file mode 100644 index 000000000..941208fb0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-unknown-iterable.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpj5t_bk0q/lazy-executed')\nordinary=Path('/tmp/tmpj5t_bk0q/ordinary-executed')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text(\"iterated\")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "ordinary-unknown-iterable", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp5h8w_ve_/logs/fixture.log", + "log_sha256": "f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-empty-string.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-empty-string.json new file mode 100644 index 000000000..1afe3a14e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-empty-string.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmp4bv120h1/lazy-executed')\nordinary=Path('/tmp/tmp4bv120h1/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return ''\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-empty-string", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpw9_kg0en/logs/fixture.log", + "log_sha256": "f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-false.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-false.json new file mode 100644 index 000000000..8fb3666db --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-false.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmpy__fvr7f/lazy-executed')\nordinary=Path('/tmp/tmpy__fvr7f/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-false", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpa4iz5wmt/logs/fixture.log", + "log_sha256": "a6aa7b5947ecf8d6410cc1a05f10fa45e17be89ae32c70b571817273a83ededc", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-scalar.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-scalar.json new file mode 100644 index 000000000..f3ef508cc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-scalar.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmprqjvpm8l/lazy-executed')\nordinary=Path('/tmp/tmprqjvpm8l/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-scalar", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmp71xnz2p2/logs/fixture.log", + "log_sha256": "f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-zero.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-zero.json new file mode 100644 index 000000000..a87823b35 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile-fixtures/return-zero.json @@ -0,0 +1,83 @@ +{ + "fixture_source": "from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path('/tmp/tmphhk54xap/lazy-executed')\nordinary=Path('/tmp/tmphhk54xap/ordinary-executed')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text(\"body\")\n self.fail(\"ordinary body assertion\")\n", + "label": "return-zero", + "lazy_sentinel_executed": false, + "optimize": 0, + "ordinary_sentinel_executed": true, + "receipt": { + "assertion_failures": 1, + "errors": 0, + "expected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "file": "source_checks.py", + "log": "/tmp/tmpnh4fw3sk/logs/fixture.log", + "log_sha256": "f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735", + "mutated_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "name": "fixture", + "original_sha256": "6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_auditor.C.test_b_assertion" + ], + "body_entered_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "body_finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.C.test_b_assertion", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py\", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.C.test_a_return", + "test_auditor.C.test_b_assertion" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 2, + "unexpected_successes": 0 + }, + "tests_run": 2 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile.log b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile.log new file mode 100644 index 000000000..2d63b4607 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/red-none-profile.log @@ -0,0 +1,66 @@ +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') ... FAIL + test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar') ... FAIL +test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) ... FAIL + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='zero') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-zero', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmphhk54xap/lazy-executed\')\nordinary=Path(\'/tmp/tmphhk54xap/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return 0\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpnh4fw3sk/logs/fixture.log', 'log_sha256': 'f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='false') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-false', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpy__fvr7f/lazy-executed\')\nordinary=Path(\'/tmp/tmpy__fvr7f/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return False\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpa4iz5wmt/logs/fixture.log', 'log_sha256': 'a6aa7b5947ecf8d6410cc1a05f10fa45e17be89ae32c70b571817273a83ededc'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='empty-string') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-empty-string', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmp4bv120h1/lazy-executed\')\nordinary=Path(\'/tmp/tmp4bv120h1/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return \'\'\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpw9_kg0en/logs/fixture.log', 'log_sha256': 'f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) (value='scalar') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 207, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(record['receipt']['outcome'],'ERROR',record) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'return-scalar', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmprqjvpm8l/lazy-executed\')\nordinary=Path(\'/tmp/tmprqjvpm8l/ordinary-executed\')\nclass C(unittest.TestCase):\n def test_a_return(self): return 7\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp71xnz2p2/logs/fixture.log', 'log_sha256': 'f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735'}} + +====================================================================== +FAIL: test_sync_bodies_require_none_and_refuse_other_returns_without_iteration (test_mutation_runner.LazyBodyHarnessRules.test_sync_bodies_require_none_and_refuse_other_returns_without_iteration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 214, in test_sync_bodies_require_none_and_refuse_other_returns_without_iteration + self.assertEqual(unknown['receipt']['outcome'],'ERROR',unknown) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'label': 'ordinary-unknown-iterable', 'optimize': 0, 'fixture_source': 'from pathlib import Path\nimport unittest\nimport functools\nsentinel=Path(\'/tmp/tmpj5t_bk0q/lazy-executed\')\nordinary=Path(\'/tmp/tmpj5t_bk0q/ordinary-executed\')\nclass UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\nclass C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n', 'lazy_sentinel_executed': False, 'ordinary_sentinel_executed': True, 'receipt': {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'started_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_entered_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_finished_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'body_assertion_ids': ['test_auditor.C.test_b_assertion'], 'assertion_events': [{'id': 'test_auditor.C.test_b_assertion', 'source': 'direct'}], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_b_assertion', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_a_return (test_auditor.C.test_a_return) ... ok\ntest_b_assertion (test_auditor.C.test_b_assertion) ... FAIL\n\n======================================================================\nFAIL: test_b_assertion (test_auditor.C.test_b_assertion)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/work/layer_a/mutation_test.py", line 283, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: ordinary body assertion\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_a_return', 'test_auditor.C.test_b_assertion'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp5h8w_ve_/logs/fixture.log', 'log_sha256': 'f76c0d45613effec30eb2e0ee5a81932ed4a3ee8ac806152725c1225dc475735'}} + +---------------------------------------------------------------------- +Ran 1 test in 1.017s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/run-new-guard-source-controls.py b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/run-new-guard-source-controls.py new file mode 100644 index 000000000..6baba15fa --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/run-new-guard-source-controls.py @@ -0,0 +1,39 @@ +"""Run actual lazy-body grader source mutants against only new contract controls.""" +from pathlib import Path +import hashlib,importlib.util,json,os,subprocess,sys,tempfile +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1]/'work/layer_a' +runner=ROOT/'mutation_test.py' +spec=importlib.util.spec_from_file_location('trusted_lazy_body_runner',runner) +trusted=importlib.util.module_from_spec(spec);spec.loader.exec_module(trusted) +source=runner.read_text() +prefix='test_mutation_runner.LazyBodyHarnessRules.' +mutants=[ + ('accept-non-none-return-objects','if value is not None:','if False:','test_sync_bodies_require_none_and_refuse_other_returns_without_iteration'), + ('accept-falsey-non-none-returns','if value is not None:','if value:','test_sync_bodies_require_none_and_refuse_other_returns_without_iteration'), + ('iterate-unknown-return-objects',' # Closing a fresh native coroutine'," if hasattr(value,'__iter__'): list(value)\n # Closing a fresh native coroutine",'test_sync_bodies_require_none_and_refuse_other_returns_without_iteration'), +] + +records=[] +for mode in ('normal','optimized'): + for name,before,after,method in mutants: + if source.count(before)!=1:raise ValueError((name,source.count(before))) + changed=source.replace(before,after,1);selection=prefix+method + with tempfile.TemporaryDirectory(prefix='cbz-lazy-layer-guard-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + (root/'mutation_test.py').write_text(changed) + (root/'tests/test_mutation_runner.py').write_bytes((ROOT/'tests/test_mutation_runner.py').read_bytes()) + result=root/'trusted-result.json' + command=[sys.executable,'-B','-S']+(['-O'] if mode=='optimized' else [])+[str(runner),'--internal-test-runner','--output',str(result),'--test-root',str(root/'tests'),'--test',selection] + env=dict(os.environ);env.pop('PYTHONPATH',None) + if mode=='optimized':env['PYTHONOPTIMIZE']='1' + else:env.pop('PYTHONOPTIMIZE',None) + env['CBZ_LAZY_CONTROL_EVIDENCE']=str(HERE/'guard-fixtures'/mode/name) + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=30) + value=json.loads(result.read_text()) if result.is_file() else {} + outcome=trusted.classify_test_result(value,p.returncode,expected_ids=[selection]) + log=HERE/(mode+'-'+name+'.log');log.write_text(p.stdout) + record={'name':name,'mode':mode,'file':'mutation_test.py','before':before,'after':after,'original_sha256':hashlib.sha256(source.encode()).hexdigest(),'mutated_sha256':hashlib.sha256(changed.encode()).hexdigest(),'selected_test':selection,'outcome':outcome,'returncode':p.returncode,'tests':value,'log':str(log),'log_sha256':hashlib.sha256(p.stdout.encode()).hexdigest()} + records.append(record);print(mode,name,outcome,flush=True) +(HERE/'new-guard-source-controls.json').write_text(json.dumps({'scope':'three final None-return profile source mutants in two modes; unchanged lazy-shape and disposal evidence reused','planned':6,'executed':len(records),'killed':sum(r['outcome']=='KILLED' for r in records),'results':records},sort_keys=True,indent=2)+'\n') +if not all(r['outcome']=='KILLED' for r in records):raise RuntimeError('a lazy safeguard source control did not produce a clean assertion kill') diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/shared/independent-lazy-body-review.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/shared/independent-lazy-body-review.json new file mode 100644 index 000000000..5f07878c5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/shared/independent-lazy-body-review.json @@ -0,0 +1,78 @@ +{ + "final_outcome": "Kernel and layer_a CLEAR for final frozen lazy-body changed hunks. No unresolved actionable issue found. This is a source-bound scoped review and reusable evidence assessment, not a new full-run verification or CBZ declaration.", + "historical_applicability": "The static source-shape receipt records original direct selected methods as synchronous without direct valued returns or suspension; nested helpers are excluded from the enclosing method analysis. Earlier body assertion traces and mathematical verification remain applicable under their unchanged source/dependency assumptions. Provider-distinct process requirements are tracked separately.", + "kernel_replay": { + "evidence_assessment": { + "current_harness_methods": 20, + "current_selected_method_total": 60, + "final_none_guard_outcome": "KILLED in normal and optimized modes by the focused non-None return assertion control", + "fresh_final_none_guard_distinct_mutations": 1, + "fresh_final_none_guard_mode_executions": 2, + "fresh_methods_normal": 6, + "fresh_methods_optimized": 6, + "reviewer_test_executions": 0, + "unchanged_original_methods_reused": 40 + }, + "frozen_source_sha256": { + "work/kernel_replay/mutations.py": "a1a0b0e7d6c5809c1f3f291a10aa14edc04265ce73cf76494318f966ab69b9bd", + "work/kernel_replay/run_tests.py": "f0a67f6cb3a2e0232d1cb7ff61cd7e5c21ae4c414a8c74c3a3225712b3a74ba3", + "work/kernel_replay/tests/test_mutation_harness.py": "05a4a2f4c803315f80a3fcb2bb16f0d5d6df19c874c118152c257544880de114" + }, + "reused_fresh_evidence": { + "normal_six_methods": "evidence/kernel-none-profile-controls-green.log", + "optimized_six_methods": "evidence/kernel-none-profile-controls-optimized-green.log", + "original_method_source_applicability": "evidence/original-method-shape-applicability.json", + "refreshed_final_none_guard_mutant_normal_and_optimized": "evidence/kernel-none-return-guard-mutant/summary.json", + "unchanged_shape_and_decorator_guard_evidence": "evidence/kernel-lazy-guard-mutants/summary.json" + }, + "reviewed_policy": [ + "Selected methods must be ordinary synchronous Python functions or bound methods; each advertised __wrapped__ link is checked and cyclic decorator metadata is rejected.", + "Declared generator, coroutine and async-generator shapes refuse the entire selected population before any suite fixture or body runs.", + "A successfully returning selected body must return exactly None. Every other value, including False, zero, empty containers and opaque iterables, marks invalid_population.", + "Returned objects are never iterated or awaited. Disposal closes only a native unstarted coroutine in CORO_CREATED; arbitrary return objects are not advanced.", + "Invalid return evidence cannot be overridden by a different selected method producing a legitimate assertion failure.", + "The direct-script unittest.main guard now follows LazyBodyHarnessTests, resolving omission of new methods during direct invocation." + ], + "scope_limits": "Finite synchronous-method policy and changed harness review. No original broad suite, production mutant, Lean, proof or build check replayed.", + "status": "CLEAR_FOR_REVIEWED_SCOPE" + }, + "layer_a": { + "evidence_assessment": { + "fresh_final_none_profile_distinct_guard_mutations": 3, + "fresh_final_none_profile_guard_executions": 6, + "fresh_final_none_profile_guard_outcome": "All 3 mutations KILLED in normal and optimized modes", + "fresh_methods_normal": 4, + "fresh_methods_optimized": 4, + "old_classes_and_original_mutation_definitions_unchanged": true, + "retained_existing_harness_methods": 11, + "retained_existing_lifecycle_methods": 8, + "reviewer_test_executions": 0 + }, + "frozen_source_sha256": { + "evidence/layer_a/frozen/mutation_test.py": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f", + "evidence/layer_a/frozen/tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + "reused_fresh_evidence": { + "final_none_profile_three_guard_mutants_two_modes": "evidence/layer_a/new-guard-source-controls.json", + "frozen_manifest": "evidence/layer_a/frozen-manifest.json", + "normal_four_methods": "evidence/layer_a/normal-lazy-controls.log", + "optimized_four_methods": "evidence/layer_a/optimized-lazy-controls.log", + "original_method_source_applicability": "evidence/original-method-shape-applicability.json", + "unchanged_shape_wraps_and_native_coroutine_disposal_controls": "evidence/layer_a/lazy-types-generation/" + }, + "reviewed_changed_hunks": [ + "ordinary_sync_method traverses every wraps-linked function/method and rejects generator/coroutine/async-generator shapes and cyclic metadata.", + "inspect_test_population applies the method-shape policy during pristine list discovery; execute_test_suite refuses any invalid selected population before fixtures or test bodies.", + "The actual selected-method wrapper requires every normal return to be exactly None. All other values mark invalid_population regardless of truth value or iterable shape.", + "No return value is iterated or awaited; only a native unstarted coroutine is closed in CORO_CREATED. Custom awaitables and opaque iterables are not closed or advanced.", + "New test methods retain positive None pass/assertion cases and sentinel evidence that mixed unsupported populations and returned suspended objects do not establish completed body execution.", + "Existing lifecycle attribution, pristine population binding, classifier, old test classes and original checker mutation definitions remain outside the changed lazy-body hunks." + ], + "scope_limits": "Static review of final frozen lazy-body changed hunks only; completed four-method normal/O and three-guard two-mode evidence reused. No old full suite, original checker mutant, Lean, proof or build check repeated.", + "status": "CLEAR_FOR_REVIEWED_SCOPE" + }, + "reuse_policy": "Completed applicable mathematical and harness evidence is reusable. A review handoff or pending layer review does not erase established kernel evidence. Previously completed 14 kernel lifecycle controls and applicable source controls remain separate reusable evidence; this is not a fresh whole-suite run.", + "review_type": "independent static review of changed lazy-body runner and focused harness hunks; completed verification reused", + "reviewer": "kernel_lifecycle_review", + "schema_version": 1 +} diff --git a/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/shared/original-method-shape-applicability.json b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/shared/original-method-shape-applicability.json new file mode 100644 index 000000000..e78f8528b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lazy-body-profile/shared/original-method-shape-applicability.json @@ -0,0 +1,864 @@ +{ + "schema_version": 1, + "scope": "Static direct selected-method AST shapes only, no test execution. Nested helper function/generator bodies are excluded from the enclosing selected method shape.", + "files": [ + { + "path": "/workspace/cbz-0/tools/kernel_replay/tests/test_kernel_replay.py", + "sha256": "2ccdd956379bf3ddbc479a10604a10db7c26acee96c54c869c7a6bafc0f2dfeb", + "method_count": 31, + "methods": [ + { + "id": "WrapperTests.test_empty_coverage_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_duplicate_modules_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_missing_module_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_individual_olean_symlink_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_search_root_and_part_symlinks_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_expected_coverage_mismatch_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_source_change_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_part_change_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_new_private_part_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_tool_binding_change_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_nonzero_exit_fatal_even_with_marker", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_missing_or_wrong_marker_fatal", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_timeout_fatal", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_memory_limit_applied", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_one_child_at_a_time_and_exact_coverage", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_memory_upper_bounds_before_spawn", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_memory_hard_limit_before_spawn", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_boolean_arguments_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_timeout_upper_bounds_before_spawn", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_valid_integer_and_float_timeouts", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_spawn_exceptions_are_structured_errors", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_real_preexec_failure_is_structured", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_wait_errors_cannot_become_success", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_wait_error_kills_and_reaps_real_child", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_timeout_kills_and_reaps_real_child", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_unreapable_child_cleanup_is_bounded", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_unreaped_child_stops_further_modules", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_cleanup_exceptions_remain_structured", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_resource_oversized_cli_arguments_emit_non_green_report", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_strict_cli", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "WrapperTests.test_module_names_and_unknown_fields_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + } + ] + }, + { + "path": "/workspace/cbz-0/tools/kernel_replay/tests/test_real_lean.py", + "sha256": "51ab210da908b4e3d74fe179c41a414abf4c53e88458db33f7934ae0010337d7", + "method_count": 9, + "methods": [ + { + "id": "RealLeanTests.test_good_public_private_inductive_all_parts", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "RealLeanTests.test_public_self_reference_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "RealLeanTests.test_private_self_reference_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "RealLeanTests.test_unapproved_axiom_kernel_valid_but_independent_policy_rejects", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "RealLeanTests.test_exact_module_no_prefix_glob", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "RealLeanTests.test_user_lean_path_cannot_shadow_checker", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "RealLeanTests.test_real_private_body_cannot_hide_behind_olean_symlink", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "RealLeanTests.test_driver_missing_request_and_binding_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "RealLeanTests.test_cli_prepare_and_run", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + } + ] + }, + { + "path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/baseline/kernel_replay/tests/test_mutation_harness.py", + "sha256": "9887371525049cbc9685fadfd02531b1171507ad3c2c8373947c37875b3783e6", + "method_count": 14, + "methods": [ + { + "id": "MutationHarnessTests.test_setup_assertion_is_not_a_kill", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_body_assertion_kills_after_all_selected_bodies_finish", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_dispatch_hook_assertion_without_selected_method_is_error", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_selected_method_invoked_from_lifecycle_is_error", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_clean_identity_survives", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_lifecycle_failures_never_kill_even_with_body_assertion", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_errors_skips_and_expected_failures_are_errors", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_body_scoped_subtest_assertions_kill_without_changing_parent_population", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_foreign_subtest_parent_cannot_claim_selected_body_assertion", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_lifecycle_subtests_and_subtest_errors_are_errors", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_empty_duplicate_synthetic_and_spoofed_population_is_error", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_population_listing_does_not_execute_fixtures_or_bodies", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_summary_without_lifecycle_receipt_fails_closed", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessTests.test_forged_or_missing_accounting_is_error", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + } + ] + }, + { + "path": "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", + "sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "method_count": 72, + "methods": [ + { + "id": "SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_unterminated_character_literals_are_never_silent", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_every_inexact_python_route_is_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_each_file_is_really_scanned_not_only_first", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_empty_scope_cannot_manufacture_green", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_python_import_alias_cannot_hide_quarantine", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + } + ] + }, + { + "path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/baseline/layer_a/tests/test_mutation_runner.py", + "sha256": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d", + "method_count": 11, + "methods": [ + { + "id": "MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + }, + { + "id": "LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "async_function": false, + "valued_return_lines": [], + "suspension_lines": [] + } + ] + } + ], + "all_original_selected_methods_are_sync_with_no_valued_return_or_suspension": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..ad8edf95c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log @@ -0,0 +1,59 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gebswgmj/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.058s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log new file mode 100644 index 000000000..e15b93420 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log @@ -0,0 +1,98 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jl_r65sl/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2f7df6f5cc72e3c37d01cabba50c925c71f3acd356b477626518555129f526c2', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jl_r65sl/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jl_r65sl/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jl_r65sl/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jl_r65sl/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.066s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..0180635d6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log @@ -0,0 +1,59 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-vjx683dv/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.134s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log new file mode 100644 index 000000000..2c4efff2b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log @@ -0,0 +1,98 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ul_34wsz/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2bfc86cd7db01eda989fdf1365c4f68c1cc288a2729fc38ab8c504367ea659ea', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ul_34wsz/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ul_34wsz/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ul_34wsz/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ul_34wsz/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.144s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/receipt.json b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/receipt.json new file mode 100644 index 000000000..e2f40370d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-adapted-mutants/receipt.json @@ -0,0 +1,61 @@ +{ + "modes": { + "normal": [ + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "log_sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "log_sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ], + "optimized": [ + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "log_sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "log_sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + }, + "scope": "only two adapted redundant legacy definitions; baseline and17otheraffectedresults reused fromlexer698-initial" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-admission.json b/cbz/contributions/math514/layer_a/evidence/lexer698-admission.json new file mode 100644 index 000000000..9341fa1d0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-admission.json @@ -0,0 +1,1944 @@ +{ + "active_definition_accounting": { + "fresh_current_definitions": 19, + "legacy_adapted": 2, + "legacy_unchanged": 51, + "new": 4, + "reused_unchanged": 38 + }, + "adapted_redundancy_results": { + "modes": { + "normal": [ + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "log_sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "log_sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ], + "optimized": [ + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "log_sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "log_sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + }, + "scope": "only two adapted redundant legacy definitions; baseline and17otheraffectedresults reused fromlexer698-initial" + }, + "affected_results": { + "claim": "affected Lean integration checks and actual source mutants; no fresh full-suite, Lean compiler, actual repository G1 or CBZ claim", + "ended_utc": "2026-10-29T19:42:52.095194+00:00", + "full_test_sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "modes": { + "normal": { + "baseline": { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/baseline-identity.log", + "log_sha256": "1c38bee11cbf7458401fd5c05c59a866f16ab06c4a2cb45196a79145aec9bee5", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "baseline-identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + "current_mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "log_sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "log_sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "observed_assertion_body_methods": [ + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "log_sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "log_sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "log_sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_canonical_metadata_and_error_channels_fail_closed", + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_each_file_is_really_scanned_not_only_first", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "log_sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "log_sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_each_file_is_really_scanned_not_only_first", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "log_sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "log_sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "log_sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "log_sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "log_sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "observed_assertion_body_methods": [ + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "log_sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "log_sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "log_sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "log_sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "observed_assertion_body_methods": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_lean_explicit_imports_are_extracted_across_lines", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_unknown_module_alias_and_dynamic_import_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "log_sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "observed_assertion_body_methods": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "log_sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "log_sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ], + "killed": 17, + "mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "log_sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "log_sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "observed_assertion_body_methods": [ + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "log_sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "log_sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "log_sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_canonical_metadata_and_error_channels_fail_closed", + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_each_file_is_really_scanned_not_only_first", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "log_sha256": "08e737fdd7036e291d8fc1042f3cd0420b58f274aaac20e0e4f4e13621038033", + "mutated_sha256": "307cbc4f2317be14a8d61e1c2c828fb284120b5149c32103160851912a450895", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "log_sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_each_file_is_really_scanned_not_only_first", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "log_sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "log_sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "log_sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "log_sha256": "60d6e1c2132f6ef891f5011b887211f695fcd371b1251606d8a892256ce3303f", + "mutated_sha256": "3ca529eb72b335305c738b6788f63389a2a4a5b5f6accf6c31be9ab93f1716aa", + "name": "skip-malformed-character-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "log_sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "observed_assertion_body_methods": [ + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "log_sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "log_sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "log_sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "log_sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "observed_assertion_body_methods": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_lean_explicit_imports_are_extracted_across_lines", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_unknown_module_alias_and_dynamic_import_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "log_sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "observed_assertion_body_methods": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "log_sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "log_sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + }, + "optimized": { + "baseline": { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log", + "log_sha256": "97e645f35e21c52af3988bdc7415c7df498ea9f4f7e5a1d0a781241fd84f0d8d", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "baseline-identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + "current_mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "log_sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "log_sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "observed_assertion_body_methods": [ + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "log_sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "log_sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "log_sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_canonical_metadata_and_error_channels_fail_closed", + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_each_file_is_really_scanned_not_only_first", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "log_sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "log_sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_each_file_is_really_scanned_not_only_first", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "log_sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "log_sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "log_sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "log_sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "log_sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "observed_assertion_body_methods": [ + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "log_sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "log_sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "log_sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "log_sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "observed_assertion_body_methods": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_lean_explicit_imports_are_extracted_across_lines", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_unknown_module_alias_and_dynamic_import_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "log_sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "observed_assertion_body_methods": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "log_sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "log_sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ], + "killed": 17, + "mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "log_sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "log_sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "observed_assertion_body_methods": [ + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "log_sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "log_sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "log_sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_canonical_metadata_and_error_channels_fail_closed", + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_each_file_is_really_scanned_not_only_first", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "log_sha256": "81b0341312b3a14a5c4c31ea3161bb15184363bb65d81a7a491e9dd8d9e1f5c7", + "mutated_sha256": "307cbc4f2317be14a8d61e1c2c828fb284120b5149c32103160851912a450895", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "log_sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_each_file_is_really_scanned_not_only_first", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "log_sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "log_sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "log_sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "log_sha256": "7ac1abde253575f9618b2b354a00485473d56514374dc7272470608b0333eda2", + "mutated_sha256": "3ca529eb72b335305c738b6788f63389a2a4a5b5f6accf6c31be9ab93f1716aa", + "name": "skip-malformed-character-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "log_sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "observed_assertion_body_methods": [ + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "log_sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "log_sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "log_sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "log_sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "observed_assertion_body_methods": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_lean_explicit_imports_are_extracted_across_lines", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_unknown_module_alias_and_dynamic_import_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "log_sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "observed_assertion_body_methods": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "log_sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "log_sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + } + }, + "observed_status": "FAIL", + "selected_methods": [ + { + "end_line": 44, + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "line": 36, + "source_sha256": "59f07ced5acb7267f976ba99b909ac4e415c31495da98e3a8ac213a9b57f391e" + }, + { + "end_line": 54, + "id": "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "line": 46, + "source_sha256": "a42d6053aac8caa908820dd486314303e98d619e71cea84f60f9fec0293cd0a9" + }, + { + "end_line": 59, + "id": "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "line": 56, + "source_sha256": "9d69ccb20230112eca287ca89e2c79ab77bf0d29b1a4d5b5a016126aadef520e" + }, + { + "end_line": 65, + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "line": 61, + "source_sha256": "960fedac091b0b157e59cae3c6992c673f5e363c27a74ace537b560915a630ef" + }, + { + "end_line": 71, + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "line": 67, + "source_sha256": "45ef92258591e56b51437ff44cc5f908f326bd9d9cb904b91da430657be327f0" + }, + { + "end_line": 81, + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "line": 73, + "source_sha256": "d4d64d5b7f1bda671d53f6160c2bfd9df412e4ce8f7b4724c2e567239fa784dd" + }, + { + "end_line": 102, + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "line": 83, + "source_sha256": "71a61f54d4515a946bc8470db6dc7d71856429b8b5989d2bc60792cdf42faece" + }, + { + "end_line": 107, + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "line": 104, + "source_sha256": "8c944a0ba925ac7b0645b27e2cd36496ee557a705226f3ad31072de99996aa40" + }, + { + "end_line": 111, + "id": "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "line": 109, + "source_sha256": "06d59dea43f2220bb0fbdd26a9b714c15a119411c884c2bb7f3485bacf5c4b80" + }, + { + "end_line": 115, + "id": "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "line": 113, + "source_sha256": "de6e991fa0bd961576bd95604abd7934ac053362c871609323f789b46eeefa1f" + }, + { + "end_line": 123, + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "line": 117, + "source_sha256": "21e1cc00c0071d72ee187c35805f8c6099cb157ba98122f48b6e300deb0c0b5a" + }, + { + "end_line": 126, + "id": "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "line": 125, + "source_sha256": "6522133375e7a34bace3439dfbd3ddb25800029d9a6dce38c4a002dcd1d2fd0f" + }, + { + "end_line": 136, + "id": "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "line": 128, + "source_sha256": "ad60e324ec3d3da948fdefb78e8aa0b236174b4dd23ff2aedf10d094f4668fe0" + }, + { + "end_line": 142, + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "line": 138, + "source_sha256": "97d33dbdc008aa3ac6c804c09ea90dac6e14c0d3b372cbc24e757079d52ac1f8" + }, + { + "end_line": 146, + "id": "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "line": 144, + "source_sha256": "47691fdbe6422494652cb3447e6ae60f667cba9fb1c65bac8a5c3a824898e3f3" + }, + { + "end_line": 150, + "id": "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "line": 148, + "source_sha256": "51ff3f9c3e8d420646a38badf6c8e1c797aa3a8ce56915a6e56ae9a2cec680f0" + }, + { + "end_line": 202, + "id": "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "line": 200, + "source_sha256": "44bc1aefed1f25cb0796140ddd551a12a56c9eee60d09b039e2fbb640ca60899" + }, + { + "end_line": 216, + "id": "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "line": 213, + "source_sha256": "01ebf3dfed17b71659ebd35952cf9536cb64ee7c23c43f644bb1e77375831f08" + }, + { + "end_line": 220, + "id": "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "line": 218, + "source_sha256": "d59d84598cb18b965c9c21179abe04472334df26ae1643db3ef5f51c028dad7d" + }, + { + "end_line": 225, + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "line": 222, + "source_sha256": "820f46bfe34e027b6096d9cb46f8ba21f4df27c5520ff46188ea4843bad8bfd3" + }, + { + "end_line": 294, + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "line": 275, + "source_sha256": "b94bcc9ed9447f0963b00d9723e5bd1922c46dbd2031426ad37ba10e7e79ee8c" + }, + { + "end_line": 304, + "id": "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "line": 296, + "source_sha256": "6439fbfbebed82ed14ea6ba729e7942c93826420438f0e1e6d7d706083456407" + }, + { + "end_line": 313, + "id": "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "line": 306, + "source_sha256": "58dc5d2c6ec65f75a445f4ee7d737527af58eb6a1c9e448557fc414aac3a6d4a" + }, + { + "end_line": 331, + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "line": 326, + "source_sha256": "6b618f333c6864be0b900061214881e555bb4273b60ff684d570d01d75e1d674" + }, + { + "end_line": 340, + "id": "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "line": 333, + "source_sha256": "417fe36012f1bd1eccddf9ab56bc2af6f802629585b4fe11bc67c2068ced3a7b" + }, + { + "end_line": 353, + "id": "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "line": 348, + "source_sha256": "b4056f8e0a5f2c53dbdb23d52e465adeb08e4f020c829458e38682bfcb2171cc" + }, + { + "end_line": 373, + "id": "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "line": 364, + "source_sha256": "80d391fcd444d64d521aeb06d5ddddf7c26c762a22d5d763b1fb65a3dabfade0" + }, + { + "end_line": 378, + "id": "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "line": 375, + "source_sha256": "c9f3c2bb6afa2cf28a0df64af99a1c13040551efe87e0a5ff174e5bf2ce81fca" + }, + { + "end_line": 411, + "id": "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "line": 402, + "source_sha256": "b6ac78b3bc309dbac1373f20aee68f6481d6f268071706b05a8a918d5965d420" + }, + { + "end_line": 434, + "id": "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "line": 429, + "source_sha256": "e5460bd71f28408d6b4d9d339fd09307d00fe388421e7f8ae77acba7dc0a3925" + }, + { + "end_line": 441, + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "line": 436, + "source_sha256": "e56e4d95d5d55021582323164c3f557ee870951bebdb53327be9aa110ecbb3a1" + }, + { + "end_line": 460, + "id": "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "line": 456, + "source_sha256": "c497d18af8a0ca9fef651b15bb74addb9c31fd7af847ad7e26f41616a527a301" + }, + { + "end_line": 483, + "id": "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "line": 475, + "source_sha256": "727ebce9713d713ede0ab7a0aebb52c04c37bf5c80d0d9fdf7b7086b35f671df" + }, + { + "end_line": 492, + "id": "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "line": 485, + "source_sha256": "8921e394ddf607e5983a6955712d0ea3186f73da19d219c0b23e08ea5f69329b" + }, + { + "end_line": 500, + "id": "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "line": 494, + "source_sha256": "b0f84fd23fef4fdf5ade82c0dd052100985a6fd91c969515be54e3051e3f62b1" + }, + { + "end_line": 509, + "id": "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "line": 502, + "source_sha256": "bdc934a74642b3e6fd9198a0107ffbd504e29903c42a16f9db30014067355678" + }, + { + "end_line": 537, + "id": "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "line": 533, + "source_sha256": "24d41c7bc2aacec3b79ee24e735dbf3a2579a95d318d7a115f0f3ec629a4384a" + }, + { + "end_line": 560, + "id": "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "line": 552, + "source_sha256": "bf51f1ad657eb4539203b2cd57231a346024156d6f29cf479c6987fc7d6d1114" + }, + { + "end_line": 565, + "id": "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "line": 562, + "source_sha256": "4cb778b9d8681c30e23e06c9afcf2ad02ab887fe34a54ee3b2035dfdfcd0edec" + }, + { + "end_line": 601, + "id": "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "line": 594, + "source_sha256": "1866ccafd0fad523c3eea395fe1724c8913ee5bd7df7ce257d548de36011e898" + }, + { + "end_line": 606, + "id": "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "line": 603, + "source_sha256": "0057cf575cd96a68600d3fb3cfd52a4d5d02c3b26b851e31febf4efe3cb06575" + }, + { + "end_line": 623, + "id": "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "line": 620, + "source_sha256": "1d8bf63f73eb45ecca7e6e0f4052187f34abff63be3e03d828ebed8ccb93a221" + }, + { + "end_line": 633, + "id": "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "line": 625, + "source_sha256": "d762f20c7628b5426d42f849b1652c0ae6a9764785ac674dbc5950e483961451" + }, + { + "end_line": 642, + "id": "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "line": 635, + "source_sha256": "d4de6f3fef98bf3306a485fc5ed8ad8da124410fdc135279d1755e65ea629f7e" + }, + { + "end_line": 655, + "id": "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "line": 652, + "source_sha256": "80bc5fa8ea164693df9fd67a25701452d3449440d2fea36cdbbbd224c8a945a9" + } + ], + "selected_mutants": [ + "restore-generic-numeral-swallowing", + "discard-nested-string-code-holes", + "discard-canonical-lexical-errors", + "ignore-canonical-metadata-shape", + "empty-lean-findings", + "canonical-unicode-boundary-weakened", + "disable-placeholder-category", + "disable-axiom-category", + "disable-native-category", + "disable-unchecked-declaration-refusal", + "skip-malformed-character-refusal", + "miss-escaped-placeholder-helpers", + "drop-escaped-constant-normalization", + "miss-multiline-commented-native-config", + "disable-macro-gap-category", + "drop-lean-dependencies", + "truncate-primed-lean-imports", + "silence-unsupported-lean-import-tail", + "drop-literal-import-operands" + ], + "selected_source_sha256": "bc636f64401f4292815a5e654ab8c6244b93686c3cde20571a53d3d83edee0cb", + "source_sha256": { + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "08b284df834f2c5c2960202046036b81826dc3900dc8c2a226ffe42b3a967212", + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T19:42:41.138824+00:00" + }, + "canonical_lexer_blob": "2eee3a2200082444093935291b9389c0795641cf", + "canonical_lexer_head": "38312e16f7ae22aeb433823c4a00a2cc80e23d0b", + "claim": "45 affected Lean integration methods and19 affected actual checker-source mutants per mode; no freshfull75-test/full57-mutant run; actual repositoryG1 notrun; genericgrader lifecycle augmentation separatelypending", + "current_declared_mutants": 57, + "fresh_mutants_per_mode": 19, + "fresh_tests_per_mode": 45, + "gate": "G0_COMPONENT", + "historical_receipt": { + "baseline_tests": 70, + "path": "evidence/g0-admission-final.json", + "sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "source_mutants": 53 + }, + "legacy_mutation_definitions_adapted": [ + "canonical-unicode-boundary-weakened", + "skip-malformed-character-refusal" + ], + "new_compiler_runs": 0, + "new_test_methods": [ + "ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "observed_status": "PASS", + "original_tests_unchanged": true, + "reused_mutants": 38, + "reused_test_methods": [ + "ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected", + "ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence", + "ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader", + "ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable", + "ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys", + "ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code", + "ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected", + "ManifestRules.test_empty_scope_cannot_manufacture_green", + "ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode", + "ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing", + "ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis", + "ManifestRules.test_python_import_alias_cannot_hide_quarantine", + "ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers", + "ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed", + "ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read", + "SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions", + "SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope", + "SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "SourceRules.test_every_inexact_python_route_is_rejected", + "SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps", + "SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped" + ], + "reused_tests": 30, + "schema_version": 1, + "scope": "lexer integration only; generic lifecycle augmentation pending", + "source_sha256": { + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "e6afa7a0ef6b3e5cd9ce3afb5a4784ecf5f3163c2ed36fef4a46a517f238b721", + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "unchanged_function_or_class_asts": { + "Token": true, + "_contradictions": true, + "check_lean": false, + "check_python": true, + "finding": true, + "lean_tokens": true + }, + "unchanged_mutation_accounting_function_asts": { + "main": true, + "parse_test_result": true, + "run_one": true, + "sha": true + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-api-green.log b/cbz/contributions/math514/layer_a/evidence/lexer698-api-green.log new file mode 100644 index 000000000..0a0b20c88 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-api-green.log @@ -0,0 +1,6 @@ +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.034s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-api-red.log b/cbz/contributions/math514/layer_a/evidence/lexer698-api-red.log new file mode 100644 index 000000000..1d1d89508 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-api-red.log @@ -0,0 +1,14 @@ +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... FAIL + +====================================================================== +FAIL: test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 136, in test_canonical_metadata_and_error_channels_fail_closed + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.063s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-checks/controller.py b/cbz/contributions/math514/layer_a/evidence/lexer698-checks/controller.py new file mode 100644 index 000000000..16282263e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-checks/controller.py @@ -0,0 +1,128 @@ +"""Reproducible affected-scope controller; reuses unchanged mutation accounting. + +It selects whole original test methods without rewriting their bodies. No Lean +compiler or project command is invoked. Unchanged Python-only methods are kept +in the complete source and are excluded only from this temporary selected copy. +""" +import ast +from datetime import datetime, timezone +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import shutil +import sys +import tempfile + +SOURCE = Path(__file__).resolve().parents[2] +OUT = Path(sys.argv[1]).resolve() +OUT.mkdir(parents=True, exist_ok=True) +OLD = SOURCE / 'evidence/pre-canonical698-source' + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +spec = importlib.util.spec_from_file_location('scoped_mutation_accounting', SOURCE / 'mutation_test.py') +accounting = importlib.util.module_from_spec(spec) +spec.loader.exec_module(accounting) +test_path = SOURCE / 'tests/test_auditor.py' +text = test_path.read_text() +lines = text.splitlines(keepends=True) +parsed = ast.parse(text) +selection, removed = [], [] +for cls in parsed.body: + if not isinstance(cls, ast.ClassDef): + continue + for method in cls.body: + if not isinstance(method, ast.FunctionDef) or not method.name.startswith('test_'): + continue + calls = {n.attr for n in ast.walk(method) if isinstance(n, ast.Attribute)} + literals = {n.value for n in ast.walk(method) if isinstance(n, ast.Constant) and isinstance(n.value, str)} + affected = bool(calls & {'lean_codes', 'check_lean', 'cleanlean', 'qlean'}) or any('.lean' in value or value in {'lean', 'project_lean'} for value in literals) + body = ''.join(lines[method.lineno - 1:method.end_lineno]) + row = {'id': 'test_auditor.' + cls.name + '.' + method.name, + 'line': method.lineno, 'end_line': method.end_lineno, + 'source_sha256': sha(body.encode())} + if affected: + selection.append(row) + else: + removed.append((method.lineno, method.end_lineno)) +for first, last in sorted(removed, reverse=True): + del lines[first - 1:last] +selected_text = ''.join(lines) +selected_ast = ast.parse(selected_text) +selected_methods = {cls.name + '.' + method.name: ast.dump(method, include_attributes=False) + for cls in selected_ast.body if isinstance(cls, ast.ClassDef) + for method in cls.body if isinstance(method, ast.FunctionDef) and method.name.startswith('test_')} +for cls in parsed.body: + if isinstance(cls, ast.ClassDef): + for method in cls.body: + key = cls.name + '.' + method.name if isinstance(method, ast.FunctionDef) else '' + if key in selected_methods: + assert selected_methods[key] == ast.dump(method, include_attributes=False) + +selected_mutants = [row for row in accounting.MUTATIONS + if row[1] == 'canonical_lean.py' + or row[1] == 'source_checks.py' and ( + row[2] in text or row[0] in { + 'empty-lean-findings', 'disable-placeholder-category', 'disable-axiom-category', + 'disable-native-category', 'disable-unchecked-declaration-refusal', + 'skip-malformed-character-refusal', 'miss-escaped-placeholder-helpers', + 'drop-escaped-constant-normalization', 'miss-multiline-commented-native-config', + 'disable-macro-gap-category', 'drop-lean-dependencies', + 'truncate-primed-lean-imports', 'silence-unsupported-lean-import-tail', + 'drop-literal-import-operands', 'discard-canonical-lexical-errors', + 'ignore-canonical-metadata-shape'})] +source_paths = ['auditor.py', 'source_checks.py', 'canonical_lean.py', 'mutation_test.py', 'tests/test_auditor.py', 'tests/test_mutation_runner.py'] +starting = {p: sha((SOURCE / p).read_bytes()) for p in source_paths} +report = {'started_utc': datetime.now(timezone.utc).isoformat(), 'selected_methods': selection, + 'selected_source_sha256': sha(selected_text.encode()), 'full_test_sha256': sha(text.encode()), + 'selected_mutants': [row[0] for row in selected_mutants], 'modes': {}, + 'claim': 'affected Lean integration checks and actual source mutants; no fresh full-suite, Lean compiler, actual repository G1 or CBZ claim'} +(OUT / 'selected-test_auditor.py.txt').write_text(selected_text) +for mode in ['normal', 'optimized']: + previous = os.environ.get('PYTHONOPTIMIZE') + if mode == 'optimized': + os.environ['PYTHONOPTIMIZE'] = '1' + else: + os.environ.pop('PYTHONOPTIMIZE', None) + with tempfile.TemporaryDirectory(prefix='cbz-lexer698-scope-') as tmp: + root = Path(tmp) + (root / 'tests').mkdir() + for name in ['auditor.py', 'source_checks.py', 'canonical_lean.py']: + shutil.copy2(SOURCE / name, root / name) + (root / 'tests/test_auditor.py').write_text(selected_text) + accounting.HERE = root + logdir = OUT / mode + baseline = accounting.run_one('baseline-identity', 'source_checks.py', lambda source: source, logdir) + results = [] + if baseline['outcome'] == 'SURVIVED' and baseline['tests_run'] == len(selection): + for name, filename, before, after in selected_mutants: + def transform(source, before=before, after=after): + if source.count(before) != 1: + raise ValueError('mutation anchor is not unique/present') + return source.replace(before, after, 1) + results.append(accounting.run_one(name, filename, transform, logdir)) + report['modes'][mode] = {'baseline': baseline, 'mutants': results, + 'killed': sum(row['outcome'] == 'KILLED' for row in results)} + if previous is None: + os.environ.pop('PYTHONOPTIMIZE', None) + else: + os.environ['PYTHONOPTIMIZE'] = previous +ending = {p: sha((SOURCE / p).read_bytes()) for p in source_paths} +report.update(ended_utc=datetime.now(timezone.utc).isoformat(), source_sha256=ending, + source_unchanged_during_run=starting == ending) +report['observed_status'] = 'PASS' if starting == ending and all( + mode['baseline']['outcome'] == 'SURVIVED' and mode['baseline']['tests_run'] == len(selection) + and len(mode['mutants']) == len(selected_mutants) and mode['killed'] == len(selected_mutants) + for mode in report['modes'].values()) else 'FAIL' +(OUT / 'receipt.json').write_text(json.dumps(report, indent=2, sort_keys=True) + '\n') +print(json.dumps({'status': report['observed_status'], 'selected_tests': len(selection), + 'selected_mutants': len(selected_mutants), + 'modes': {mode: {'baseline': r['baseline']['outcome'], 'tests': r['baseline'].get('tests_run'), + 'killed': r['killed'], 'other': [x['name'] + ':' + x['outcome'] for x in r['mutants'] if x['outcome'] != 'KILLED']} + for mode, r in report['modes'].items()}}, sort_keys=True)) +raise SystemExit(0 if report['observed_status'] == 'PASS' else 1) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-green.log b/cbz/contributions/math514/layer_a/evidence/lexer698-green.log new file mode 100644 index 000000000..dc70c5c96 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-green.log @@ -0,0 +1,7 @@ +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok + +---------------------------------------------------------------------- +Ran 2 tests in 0.002s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/baseline-identity.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/baseline-identity.log new file mode 100644 index 000000000..05f2db960 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/baseline-identity.log @@ -0,0 +1,50 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +---------------------------------------------------------------------- +Ran 45 tests in 0.062s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..cb9d21de1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log @@ -0,0 +1,50 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +---------------------------------------------------------------------- +Ran 45 tests in 0.059s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log new file mode 100644 index 000000000..a4495ab96 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log @@ -0,0 +1,156 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 381, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 247, in test_numeral_adjoining_owned_axiom_cannot_receive_static_pass + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_AXIOM' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '095927679001b7fecb22ac6893a2e246a952076b2bae70d2be5e3a7e85f19651', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Hazard.lean', 'declaration': 'bad@2', 'status': 'conditional', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075', 'actual_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075'}]} + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bi6lju88/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.057s + +FAILED (failures=12) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log new file mode 100644 index 000000000..4ceb83fd5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log @@ -0,0 +1,104 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yoshlgip/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yoshlgip/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yoshlgip/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yoshlgip/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yoshlgip/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yoshlgip/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.056s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-native-category.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-native-category.log new file mode 100644 index 000000000..8b4a7368d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-native-category.log @@ -0,0 +1,232 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e23e0841529134fc1ed889792c37d656869959c84e8dd8729920ed70a9719c44', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '94d2de3dac50c3a2e19ce77c083bd03a7b7d66f88475c003a90f4a81de410130', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b5f3540a4c79c0a16cf268422aaf772cf25d383c06f9840e4b550adb32f1358c', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5fb00b3e2b374eb237e1e241e5c0909dee91a5568b911c86c6d6be8234e30811', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-et363z6d/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.062s + +FAILED (failures=19) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log new file mode 100644 index 000000000..e5d50c280 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log @@ -0,0 +1,224 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 299, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 420, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 342, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '4a66c745c7f0d84fbae4c1fdb0f76265b989a95eeab2213dc95a11e883472b81', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 256, in test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5265c91c5f720c92b04e0b58f56816150353ae7c1f598532dcb7b2290011a94a', 'inventory_sha256': {'r': 'f82cfa092e209b8313c310701bb5c357f6c322fda4592286bc889b89fe1a9383'}, 'classified_count': 2, 'scanned_count': 2, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555', 'actual_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555'}, {'root': 'r', 'path': 'Lean.lean', 'kind': 'project_lean', 'expected_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703', 'actual_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 350, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '98f0291308c22cb43b3da5588a59cd92bf429cddd8183241ff7f96b95d407eaa', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b5902ee7ff6839d2ce4292200368774dd77667479a1a7f112bdfdb131d6a40f7', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 274, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6d3ee3296b49d7dee0b389cbcb854f68e8e7e10cad144d4ea82cbcdbe2108be0', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 159, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 145, in test_nested_string_placeholder_and_benign_literal_boundaries + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-im4zg62x/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.056s + +FAILED (failures=19) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log new file mode 100644 index 000000000..b0bf4f635 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log @@ -0,0 +1,110 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6onjrfr6/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'efb21b161ace8b7b279fe64200915db230d569138a97b5b6aaada35df2bdeedd', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6onjrfr6/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '270a8bfd5f1fe83cbca5350669c6fecbe25b5da5d9d8b36b918526c0b2223feb', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6onjrfr6/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6onjrfr6/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6onjrfr6/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-6onjrfr6/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.058s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log new file mode 100644 index 000000000..7cf580783 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log @@ -0,0 +1,58 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... FAIL +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-r7cas72e/tests/test_auditor.py", line 136, in test_canonical_metadata_and_error_channels_fail_closed + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.067s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log new file mode 100644 index 000000000..df8139ce5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log @@ -0,0 +1,66 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-loz_azwb/tests/test_auditor.py", line 256, in test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd328ecce6e644d2a8956de401fe607df479dc2631f0cd0ef4b914527942a2b4f', 'inventory_sha256': {'r': 'f82cfa092e209b8313c310701bb5c357f6c322fda4592286bc889b89fe1a9383'}, 'classified_count': 2, 'scanned_count': 2, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555', 'actual_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555'}, {'root': 'r', 'path': 'Lean.lean', 'kind': 'project_lean', 'expected_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703', 'actual_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703'}]} + +====================================================================== +FAIL: test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-loz_azwb/tests/test_auditor.py", line 145, in test_nested_string_placeholder_and_benign_literal_boundaries + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.054s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log new file mode 100644 index 000000000..87aaaf6f9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log @@ -0,0 +1,157 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1fa9442a8fd581b2034e16d4a6d8220e0b01d07b467d962b820a6e21e351b6bc', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd91efb216f66f23e93cf03cf5e7b2b59cd7bdde90c6e69d3f9e5234db25a0e4e', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ec83a91686c40442250c7d2aa4fa64b4f373fd15a846f16540122801d08990fd', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ag5j47h1/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.061s + +FAILED (failures=11) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log new file mode 100644 index 000000000..f53913619 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log @@ -0,0 +1,106 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ha_vikuh/tests/test_auditor.py", line 363, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ha_vikuh/tests/test_auditor.py", line 282, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ha_vikuh/tests/test_auditor.py", line 367, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ha_vikuh/tests/test_auditor.py", line 164, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: [] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 4 additional elements. +First extra element 0: +'Good' + +- [] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ha_vikuh/tests/test_auditor.py", line 115, in test_lean_explicit_imports_are_extracted_across_lines + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) +AssertionError: Lists differ: [] != ['Closed.Base', 'Closed.A', 'Closed.B'] + +Second list contains 3 additional elements. +First extra element 0: +'Closed.Base' + +- [] ++ ['Closed.Base', 'Closed.A', 'Closed.B'] + +---------------------------------------------------------------------- +Ran 45 tests in 0.055s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log new file mode 100644 index 000000000..059d72bda --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log @@ -0,0 +1,77 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-x8p78_k5/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-x8p78_k5/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-x8p78_k5/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.056s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log new file mode 100644 index 000000000..41b1efc68 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log @@ -0,0 +1,811 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... FAIL +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') ... FAIL +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 299, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 381, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 420, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 342, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0c385d0513a2e0db6027e623cdf637d65c08d7e3f3246ad711961cb9a62afbc6', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 256, in test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0e6d1e71cd19e119117f651c9a52231be20934fc041deba2d964e2d5fc176b58', 'inventory_sha256': {'r': 'f82cfa092e209b8313c310701bb5c357f6c322fda4592286bc889b89fe1a9383'}, 'classified_count': 2, 'scanned_count': 2, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555', 'actual_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555'}, {'root': 'r', 'path': 'Lean.lean', 'kind': 'project_lean', 'expected_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703', 'actual_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703'}]} + +====================================================================== +FAIL: test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 247, in test_numeral_adjoining_owned_axiom_cannot_receive_static_pass + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_AXIOM' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '809a3609dbe5123287adea3e71277bc74e0f288e139bca9f0f20ce94bc60218f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Hazard.lean', 'declaration': 'bad@2', 'status': 'conditional', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075', 'actual_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 350, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7c3e3775e4ede2a288e2bcb9c3aaf7fad831ab6027a92803def2ba7e03221bef', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ca159b6cd76d56ee417ceebffbf9968f880c3e1ebe442e4df99f37f209866ab8', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '309938607f0521f4d1a61ceaedff97e4a977652390731ae00c5410f91c9d876e', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e232ebc1aca627ebe7d5418fe59c83ed59673fc8043dac140b087d5b1c70c169', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '32e5f9af433ba3090082f20fa0633713b0a0b88b83f1dd807ef6ee1362ba0b30', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'cff4d78864dc9769e722cfd26cbcd649b15eaef3c1f12a026991efb407064302', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '93b5bfab007c0ba27586e9f252bdc6a14327ccffcc896cad205229496a64431b', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '903b18e6c17e14b2298ae8a445dec31167d328a59c534bfa01c49e34e67df42c', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '032f49d0de7ee1bc0ee8be9d08ba8c02fd394f5ade43c13f9026221b5f451ac0', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'dea2fcc4cd62d90a73ce31efa7c3ff620e16ae6f8b8c8d283f63a9e0f70ce84f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '827881ce42bd6bc32feb5081bc264d79f314f98249812c3512445751d545f5ec', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '35b74664a1424e0275ca6408b24e31b783054da60b1dfbdbfbe65c1a17c565ba', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5429b5886ea0a00c3da5044f1148cc49503624b1708a957dfaaa2805eebeabb0', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 274, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '20893a63cd1898cf52bf065c0f11af04a29fb5f20697f8edbae0607271d7afc2', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_FLOAT_REVIEW_GAP' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 131, in test_canonical_metadata_and_error_channels_fail_closed + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 159, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 145, in test_nested_string_placeholder_and_benign_literal_boundaries + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 168, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fmeawfjr/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.069s + +FAILED (failures=81) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log new file mode 100644 index 000000000..d16b1a878 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log @@ -0,0 +1,58 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... FAIL +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p37792ge/tests/test_auditor.py", line 131, in test_canonical_metadata_and_error_channels_fail_closed + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.055s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log new file mode 100644 index 000000000..0b5e3c22e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log @@ -0,0 +1,68 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hk59_s9b/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hk59_s9b/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.056s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log new file mode 100644 index 000000000..efd003c9f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log @@ -0,0 +1,101 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-is73p49z/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e1c34e7a46104c84194fc5c2fb18fc8b4f82b7c59e40571c458e2a36fb3bb329', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-is73p49z/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1abdf1d4dc938df974fbfc5bc69880380c140ed1f86dec8c8ec6df2632f3ce05', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-is73p49z/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-is73p49z/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-is73p49z/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.057s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log new file mode 100644 index 000000000..e53f3a957 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log @@ -0,0 +1,103 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cl3esbaf/tests/test_auditor.py", line 247, in test_numeral_adjoining_owned_axiom_cannot_receive_static_pass + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_AXIOM' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '3e1bdbe34eb3e99097b4e6f75121321267da11eb67d4f6911e44f759386c6028', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Hazard.lean', 'declaration': 'bad@2', 'status': 'conditional', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075', 'actual_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075'}]} + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cl3esbaf/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cl3esbaf/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cl3esbaf/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cl3esbaf/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cl3esbaf/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.059s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log new file mode 100644 index 000000000..804ed55ba --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log @@ -0,0 +1,85 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-mqwc843b/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-mqwc843b/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-mqwc843b/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-mqwc843b/tests/test_auditor.py", line 168, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.056s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log new file mode 100644 index 000000000..25698f438 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log @@ -0,0 +1,50 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +---------------------------------------------------------------------- +Ran 45 tests in 0.053s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log new file mode 100644 index 000000000..832ad3a12 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log @@ -0,0 +1,73 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01w8jl2a/tests/test_auditor.py", line 282, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'LEAN_IMPORT_GAP'} + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-01w8jl2a/tests/test_auditor.py", line 164, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: ['Good'] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 3 additional elements. +First extra element 1: +"Q.Bad'" + +- ['Good'] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +---------------------------------------------------------------------- +Ran 45 tests in 0.055s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log new file mode 100644 index 000000000..fb8be49d7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log @@ -0,0 +1,50 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +---------------------------------------------------------------------- +Ran 45 tests in 0.136s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..3e9d6e295 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log @@ -0,0 +1,50 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +---------------------------------------------------------------------- +Ran 45 tests in 0.138s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log new file mode 100644 index 000000000..6528c8d1b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log @@ -0,0 +1,156 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 381, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 247, in test_numeral_adjoining_owned_axiom_cannot_receive_static_pass + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_AXIOM' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '01c0fec665feb11038bff388adfbcfdf764c1bb7e59ea7b275a34f24d1d2f253', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Hazard.lean', 'declaration': 'bad@2', 'status': 'conditional', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075', 'actual_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075'}]} + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m8fzv0yi/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.139s + +FAILED (failures=12) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log new file mode 100644 index 000000000..373277086 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log @@ -0,0 +1,104 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4lyalbev/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4lyalbev/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4lyalbev/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4lyalbev/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4lyalbev/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4lyalbev/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.139s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log new file mode 100644 index 000000000..784f26e88 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log @@ -0,0 +1,232 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ebfe295914c5733b03b2d17fcfa66d882c5744744f1a76afa04a69d045673fc7', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'de10d3d7bb5a87da327fc5d267b2123fe58e1598f3ca08cbd16fcfe0287f4c37', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'de967cbe5dcd53a696f8932452a8068fe89e3cb7c49e8d624237fba70a0ccea2', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f369fb1b674aa16c9a3f4f5b54e7c43e899be27f325840e33b7fac03ad5bf8bd', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qo8sotx2/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.142s + +FAILED (failures=19) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log new file mode 100644 index 000000000..e85905b69 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log @@ -0,0 +1,224 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 299, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 420, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 342, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '19e9c180ecbe2760456ac28a8a0ca2633f0092564b15b6230e89fc91008e6563', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 256, in test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '05acf8cdacdc3eb3be419f3f0ac56c665b1363bb20d670de9f9cd26f53bb2ce2', 'inventory_sha256': {'r': 'f82cfa092e209b8313c310701bb5c357f6c322fda4592286bc889b89fe1a9383'}, 'classified_count': 2, 'scanned_count': 2, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555', 'actual_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555'}, {'root': 'r', 'path': 'Lean.lean', 'kind': 'project_lean', 'expected_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703', 'actual_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 350, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'be5c67fa934b515dd85f62db638ad01bbf80539df099bab53ef50fa7322b0d7a', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd849cde416176280d8ceb562807c3feb16aea515eb1abbf89ff290da4d555a41', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 274, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '946d87ebadc29b50fbe5d95985624458f819cad8b4a0d68b74a8cdda315a65e5', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 159, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 145, in test_nested_string_placeholder_and_benign_literal_boundaries + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hftua97c/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.138s + +FAILED (failures=19) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log new file mode 100644 index 000000000..608c5076f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log @@ -0,0 +1,110 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-iy62eo1x/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5e64b092fbed8f32717cdaed5397c2fb4e4bc2edf9f88d0b020aaa0ededd7e59', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-iy62eo1x/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6af9f7933fcde693c4d5abe15061c05c99f360472fe0f34ed1c0fa440a046ea8', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-iy62eo1x/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-iy62eo1x/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-iy62eo1x/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-iy62eo1x/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.138s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log new file mode 100644 index 000000000..f74419cd2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log @@ -0,0 +1,58 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... FAIL +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-a8xprwm1/tests/test_auditor.py", line 136, in test_canonical_metadata_and_error_channels_fail_closed + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.134s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log new file mode 100644 index 000000000..82e43c002 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log @@ -0,0 +1,66 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xdq_b1pn/tests/test_auditor.py", line 256, in test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '529d8bf6e60156129d2641b065ed1107555241d20eb9d6ba29f868ffb8872465', 'inventory_sha256': {'r': 'f82cfa092e209b8313c310701bb5c357f6c322fda4592286bc889b89fe1a9383'}, 'classified_count': 2, 'scanned_count': 2, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555', 'actual_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555'}, {'root': 'r', 'path': 'Lean.lean', 'kind': 'project_lean', 'expected_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703', 'actual_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703'}]} + +====================================================================== +FAIL: test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xdq_b1pn/tests/test_auditor.py", line 145, in test_nested_string_placeholder_and_benign_literal_boundaries + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.147s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log new file mode 100644 index 000000000..d613479fb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log @@ -0,0 +1,157 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '4e5c78b0c848492a5b2135afac409e041d182fbd14dd5cac403937c95acb5def', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '74e6cbd2a7f1c331d199bf2ef68c3354e7d1014549d7abe07f6766b56d2df119', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5c4c0396ce335313128282ab99cf224c8d45034220316b22e7c115b6c63b054d', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u1wy0u5p/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.132s + +FAILED (failures=11) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log new file mode 100644 index 000000000..a56d6f04e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log @@ -0,0 +1,106 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1xbslvip/tests/test_auditor.py", line 363, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Top.lean' +'Mid.lean' + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1xbslvip/tests/test_auditor.py", line 282, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1xbslvip/tests/test_auditor.py", line 367, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1xbslvip/tests/test_auditor.py", line 164, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: [] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 4 additional elements. +First extra element 0: +'Good' + +- [] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1xbslvip/tests/test_auditor.py", line 115, in test_lean_explicit_imports_are_extracted_across_lines + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) +AssertionError: Lists differ: [] != ['Closed.Base', 'Closed.A', 'Closed.B'] + +Second list contains 3 additional elements. +First extra element 0: +'Closed.Base' + +- [] ++ ['Closed.Base', 'Closed.A', 'Closed.B'] + +---------------------------------------------------------------------- +Ran 45 tests in 0.142s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log new file mode 100644 index 000000000..788b0cf9c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log @@ -0,0 +1,77 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g6f463e5/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g6f463e5/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g6f463e5/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.135s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log new file mode 100644 index 000000000..915e81100 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log @@ -0,0 +1,811 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... FAIL +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') ... FAIL +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 299, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 381, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 420, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 328, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 342, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8c692bab50ebb5d41fd92f23fddb38e1a172c09e03050fbe2ae12eccbff7e608', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 256, in test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '38a2e6090fb8cd53b406eead2c8a6fdbfea611e4d99d23556ddc532344835d09', 'inventory_sha256': {'r': 'f82cfa092e209b8313c310701bb5c357f6c322fda4592286bc889b89fe1a9383'}, 'classified_count': 2, 'scanned_count': 2, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555', 'actual_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555'}, {'root': 'r', 'path': 'Lean.lean', 'kind': 'project_lean', 'expected_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703', 'actual_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703'}]} + +====================================================================== +FAIL: test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 247, in test_numeral_adjoining_owned_axiom_cannot_receive_static_pass + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_AXIOM' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0b1ff95a9355f029dff021fb5baff5979a1fd1a80da2d117e3b2bab9bbdbef98', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Hazard.lean', 'declaration': 'bad@2', 'status': 'conditional', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075', 'actual_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 350, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd2082cf65e929d0e5f650faf0dbb079990c85a5993d4246877d476e47eafa9da', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7e2d425762bada6c97963e4ecfd2bd8f8a3726851664b651f7aa87b335ac3a85', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6632ca042ed21d42759f7479a3873c46adaef20f51c3cf09614953f942ac0c75', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'bf4b8d84e2dfe373106e246d6c9cd7550ad120970bfc209e6c35a76b02ac5ff1', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '837ec6e5d03515bbdbf2db89b1b38b65b1953bfc5f5787cea459cf46376ec8ea', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c439c9a00d6715e4d62ecaa6325ff3fa9ec280abb3035a8ccf1807da67ae4647', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7df90caf386a4d8d5564581a62acd8725fb25d6b5d131f7e8a7421bf2fe95711', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7bb9954e81b48eab0ea77c35d6d5ba27067e9c5c3db529f09c3f1aa016b60f82', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1f15b685d0bceb3e9e0000906bcf767e65e9dcb37b56ae06003d670acdc6d06d', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7fe48c2a7135df220885d114a8916885c60d9c17adee783c9c2674e04584e36b', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a3f9888de413daace74cf0f3ccba8e172fddb210da3f1470018ed622c26e6b26', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '169ac949733e102bf99e2cf8de26ca08c3b8706f65d30ccb78f603f8df28e608', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '32f1c3f2f9f761a5d14061d4d3a286cd11fcb06695faed56042ca94b66a4d89d', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 274, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1522c99b7aabbbb2f6ba431d85dfcf5561fd9fd82a6994338d135d589acc04c0', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_FLOAT_REVIEW_GAP' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 131, in test_canonical_metadata_and_error_channels_fail_closed + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 159, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 145, in test_nested_string_placeholder_and_benign_literal_boundaries + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 168, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgf7qj13/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.145s + +FAILED (failures=81) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log new file mode 100644 index 000000000..f3a13e5a9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log @@ -0,0 +1,58 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... FAIL +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zbgrdzxe/tests/test_auditor.py", line 131, in test_canonical_metadata_and_error_channels_fail_closed + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.135s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log new file mode 100644 index 000000000..a41359145 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log @@ -0,0 +1,68 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h6l3i8di/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h6l3i8di/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.144s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log new file mode 100644 index 000000000..ccec80df3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log @@ -0,0 +1,101 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ty3pbx8m/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '94140239f1e6e54ad4efd58ea90a166060108a6ef9029ff3e2b41c90bc954ac6', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ty3pbx8m/tests/test_auditor.py", line 237, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2d6b0cb95d70f2e7cd1b6dda9a6303429da212916fb3b089a3d17b0fbf69993e', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ty3pbx8m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ty3pbx8m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ty3pbx8m/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.132s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log new file mode 100644 index 000000000..18933b974 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log @@ -0,0 +1,103 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') ... FAIL + test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0caiei37/tests/test_auditor.py", line 247, in test_numeral_adjoining_owned_axiom_cannot_receive_static_pass + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_AXIOM' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'eca62d0a423139b4031bd3cdc43be86c3b3f48561b0113235a1b2b08b7b265a8', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Hazard.lean', 'declaration': 'bad@2', 'status': 'conditional', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075', 'actual_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075'}]} + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0caiei37/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0b0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0caiei37/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='0o0') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0caiei37/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1e1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0caiei37/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) (numeral='1.0E+1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0caiei37/tests/test_auditor.py", line 141, in test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.135s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log new file mode 100644 index 000000000..110613268 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log @@ -0,0 +1,85 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-amo16qo3/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-amo16qo3/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-amo16qo3/tests/test_auditor.py", line 174, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-amo16qo3/tests/test_auditor.py", line 168, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.133s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log new file mode 100644 index 000000000..290ea2ce5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log @@ -0,0 +1,50 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +---------------------------------------------------------------------- +Ran 45 tests in 0.148s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log new file mode 100644 index 000000000..cdf31d206 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log @@ -0,0 +1,73 @@ +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_canonical_metadata_and_error_channels_fail_closed (test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed) ... ok +test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens (test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_nested_string_placeholder_and_benign_literal_boundaries (test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ijokj7y/tests/test_auditor.py", line 282, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'LEAN_IMPORT_GAP'} + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1ijokj7y/tests/test_auditor.py", line 164, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: ['Good'] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 3 additional elements. +First extra element 1: +"Q.Bad'" + +- ['Good'] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +---------------------------------------------------------------------- +Ran 45 tests in 0.135s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/receipt.json b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/receipt.json new file mode 100644 index 000000000..0f50a415b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/receipt.json @@ -0,0 +1,842 @@ +{ + "claim": "affected Lean integration checks and actual source mutants; no fresh full-suite, Lean compiler, actual repository G1 or CBZ claim", + "ended_utc": "2026-10-29T19:42:52.095194+00:00", + "full_test_sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "modes": { + "normal": { + "baseline": { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/baseline-identity.log", + "log_sha256": "1c38bee11cbf7458401fd5c05c59a866f16ab06c4a2cb45196a79145aec9bee5", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "baseline-identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + "killed": 17, + "mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "log_sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "log_sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "log_sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "log_sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "log_sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "log_sha256": "08e737fdd7036e291d8fc1042f3cd0420b58f274aaac20e0e4f4e13621038033", + "mutated_sha256": "307cbc4f2317be14a8d61e1c2c828fb284120b5149c32103160851912a450895", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "log_sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "log_sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "log_sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "log_sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "log_sha256": "60d6e1c2132f6ef891f5011b887211f695fcd371b1251606d8a892256ce3303f", + "mutated_sha256": "3ca529eb72b335305c738b6788f63389a2a4a5b5f6accf6c31be9ab93f1716aa", + "name": "skip-malformed-character-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "log_sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "log_sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "log_sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "log_sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "log_sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "log_sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "log_sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "log_sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + }, + "optimized": { + "baseline": { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log", + "log_sha256": "97e645f35e21c52af3988bdc7415c7df498ea9f4f7e5a1d0a781241fd84f0d8d", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "baseline-identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + "killed": 17, + "mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "log_sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "log_sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "log_sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "log_sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "log_sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "log_sha256": "81b0341312b3a14a5c4c31ea3161bb15184363bb65d81a7a491e9dd8d9e1f5c7", + "mutated_sha256": "307cbc4f2317be14a8d61e1c2c828fb284120b5149c32103160851912a450895", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "log_sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "log_sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "log_sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "log_sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "log_sha256": "7ac1abde253575f9618b2b354a00485473d56514374dc7272470608b0333eda2", + "mutated_sha256": "3ca529eb72b335305c738b6788f63389a2a4a5b5f6accf6c31be9ab93f1716aa", + "name": "skip-malformed-character-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "log_sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "log_sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "log_sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "log_sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "log_sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "log_sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "log_sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "log_sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + } + }, + "observed_status": "FAIL", + "selected_methods": [ + { + "end_line": 44, + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "line": 36, + "source_sha256": "59f07ced5acb7267f976ba99b909ac4e415c31495da98e3a8ac213a9b57f391e" + }, + { + "end_line": 54, + "id": "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "line": 46, + "source_sha256": "a42d6053aac8caa908820dd486314303e98d619e71cea84f60f9fec0293cd0a9" + }, + { + "end_line": 59, + "id": "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "line": 56, + "source_sha256": "9d69ccb20230112eca287ca89e2c79ab77bf0d29b1a4d5b5a016126aadef520e" + }, + { + "end_line": 65, + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "line": 61, + "source_sha256": "960fedac091b0b157e59cae3c6992c673f5e363c27a74ace537b560915a630ef" + }, + { + "end_line": 71, + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "line": 67, + "source_sha256": "45ef92258591e56b51437ff44cc5f908f326bd9d9cb904b91da430657be327f0" + }, + { + "end_line": 81, + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "line": 73, + "source_sha256": "d4d64d5b7f1bda671d53f6160c2bfd9df412e4ce8f7b4724c2e567239fa784dd" + }, + { + "end_line": 102, + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "line": 83, + "source_sha256": "71a61f54d4515a946bc8470db6dc7d71856429b8b5989d2bc60792cdf42faece" + }, + { + "end_line": 107, + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "line": 104, + "source_sha256": "8c944a0ba925ac7b0645b27e2cd36496ee557a705226f3ad31072de99996aa40" + }, + { + "end_line": 111, + "id": "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "line": 109, + "source_sha256": "06d59dea43f2220bb0fbdd26a9b714c15a119411c884c2bb7f3485bacf5c4b80" + }, + { + "end_line": 115, + "id": "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "line": 113, + "source_sha256": "de6e991fa0bd961576bd95604abd7934ac053362c871609323f789b46eeefa1f" + }, + { + "end_line": 123, + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "line": 117, + "source_sha256": "21e1cc00c0071d72ee187c35805f8c6099cb157ba98122f48b6e300deb0c0b5a" + }, + { + "end_line": 126, + "id": "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "line": 125, + "source_sha256": "6522133375e7a34bace3439dfbd3ddb25800029d9a6dce38c4a002dcd1d2fd0f" + }, + { + "end_line": 136, + "id": "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "line": 128, + "source_sha256": "ad60e324ec3d3da948fdefb78e8aa0b236174b4dd23ff2aedf10d094f4668fe0" + }, + { + "end_line": 142, + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "line": 138, + "source_sha256": "97d33dbdc008aa3ac6c804c09ea90dac6e14c0d3b372cbc24e757079d52ac1f8" + }, + { + "end_line": 146, + "id": "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "line": 144, + "source_sha256": "47691fdbe6422494652cb3447e6ae60f667cba9fb1c65bac8a5c3a824898e3f3" + }, + { + "end_line": 150, + "id": "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "line": 148, + "source_sha256": "51ff3f9c3e8d420646a38badf6c8e1c797aa3a8ce56915a6e56ae9a2cec680f0" + }, + { + "end_line": 202, + "id": "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "line": 200, + "source_sha256": "44bc1aefed1f25cb0796140ddd551a12a56c9eee60d09b039e2fbb640ca60899" + }, + { + "end_line": 216, + "id": "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "line": 213, + "source_sha256": "01ebf3dfed17b71659ebd35952cf9536cb64ee7c23c43f644bb1e77375831f08" + }, + { + "end_line": 220, + "id": "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "line": 218, + "source_sha256": "d59d84598cb18b965c9c21179abe04472334df26ae1643db3ef5f51c028dad7d" + }, + { + "end_line": 225, + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "line": 222, + "source_sha256": "820f46bfe34e027b6096d9cb46f8ba21f4df27c5520ff46188ea4843bad8bfd3" + }, + { + "end_line": 294, + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "line": 275, + "source_sha256": "b94bcc9ed9447f0963b00d9723e5bd1922c46dbd2031426ad37ba10e7e79ee8c" + }, + { + "end_line": 304, + "id": "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "line": 296, + "source_sha256": "6439fbfbebed82ed14ea6ba729e7942c93826420438f0e1e6d7d706083456407" + }, + { + "end_line": 313, + "id": "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "line": 306, + "source_sha256": "58dc5d2c6ec65f75a445f4ee7d737527af58eb6a1c9e448557fc414aac3a6d4a" + }, + { + "end_line": 331, + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "line": 326, + "source_sha256": "6b618f333c6864be0b900061214881e555bb4273b60ff684d570d01d75e1d674" + }, + { + "end_line": 340, + "id": "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "line": 333, + "source_sha256": "417fe36012f1bd1eccddf9ab56bc2af6f802629585b4fe11bc67c2068ced3a7b" + }, + { + "end_line": 353, + "id": "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "line": 348, + "source_sha256": "b4056f8e0a5f2c53dbdb23d52e465adeb08e4f020c829458e38682bfcb2171cc" + }, + { + "end_line": 373, + "id": "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "line": 364, + "source_sha256": "80d391fcd444d64d521aeb06d5ddddf7c26c762a22d5d763b1fb65a3dabfade0" + }, + { + "end_line": 378, + "id": "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "line": 375, + "source_sha256": "c9f3c2bb6afa2cf28a0df64af99a1c13040551efe87e0a5ff174e5bf2ce81fca" + }, + { + "end_line": 411, + "id": "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "line": 402, + "source_sha256": "b6ac78b3bc309dbac1373f20aee68f6481d6f268071706b05a8a918d5965d420" + }, + { + "end_line": 434, + "id": "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "line": 429, + "source_sha256": "e5460bd71f28408d6b4d9d339fd09307d00fe388421e7f8ae77acba7dc0a3925" + }, + { + "end_line": 441, + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "line": 436, + "source_sha256": "e56e4d95d5d55021582323164c3f557ee870951bebdb53327be9aa110ecbb3a1" + }, + { + "end_line": 460, + "id": "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "line": 456, + "source_sha256": "c497d18af8a0ca9fef651b15bb74addb9c31fd7af847ad7e26f41616a527a301" + }, + { + "end_line": 483, + "id": "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "line": 475, + "source_sha256": "727ebce9713d713ede0ab7a0aebb52c04c37bf5c80d0d9fdf7b7086b35f671df" + }, + { + "end_line": 492, + "id": "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "line": 485, + "source_sha256": "8921e394ddf607e5983a6955712d0ea3186f73da19d219c0b23e08ea5f69329b" + }, + { + "end_line": 500, + "id": "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "line": 494, + "source_sha256": "b0f84fd23fef4fdf5ade82c0dd052100985a6fd91c969515be54e3051e3f62b1" + }, + { + "end_line": 509, + "id": "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "line": 502, + "source_sha256": "bdc934a74642b3e6fd9198a0107ffbd504e29903c42a16f9db30014067355678" + }, + { + "end_line": 537, + "id": "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "line": 533, + "source_sha256": "24d41c7bc2aacec3b79ee24e735dbf3a2579a95d318d7a115f0f3ec629a4384a" + }, + { + "end_line": 560, + "id": "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "line": 552, + "source_sha256": "bf51f1ad657eb4539203b2cd57231a346024156d6f29cf479c6987fc7d6d1114" + }, + { + "end_line": 565, + "id": "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "line": 562, + "source_sha256": "4cb778b9d8681c30e23e06c9afcf2ad02ab887fe34a54ee3b2035dfdfcd0edec" + }, + { + "end_line": 601, + "id": "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "line": 594, + "source_sha256": "1866ccafd0fad523c3eea395fe1724c8913ee5bd7df7ce257d548de36011e898" + }, + { + "end_line": 606, + "id": "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "line": 603, + "source_sha256": "0057cf575cd96a68600d3fb3cfd52a4d5d02c3b26b851e31febf4efe3cb06575" + }, + { + "end_line": 623, + "id": "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "line": 620, + "source_sha256": "1d8bf63f73eb45ecca7e6e0f4052187f34abff63be3e03d828ebed8ccb93a221" + }, + { + "end_line": 633, + "id": "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "line": 625, + "source_sha256": "d762f20c7628b5426d42f849b1652c0ae6a9764785ac674dbc5950e483961451" + }, + { + "end_line": 642, + "id": "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "line": 635, + "source_sha256": "d4de6f3fef98bf3306a485fc5ed8ad8da124410fdc135279d1755e65ea629f7e" + }, + { + "end_line": 655, + "id": "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "line": 652, + "source_sha256": "80bc5fa8ea164693df9fd67a25701452d3449440d2fea36cdbbbd224c8a945a9" + } + ], + "selected_mutants": [ + "restore-generic-numeral-swallowing", + "discard-nested-string-code-holes", + "discard-canonical-lexical-errors", + "ignore-canonical-metadata-shape", + "empty-lean-findings", + "canonical-unicode-boundary-weakened", + "disable-placeholder-category", + "disable-axiom-category", + "disable-native-category", + "disable-unchecked-declaration-refusal", + "skip-malformed-character-refusal", + "miss-escaped-placeholder-helpers", + "drop-escaped-constant-normalization", + "miss-multiline-commented-native-config", + "disable-macro-gap-category", + "drop-lean-dependencies", + "truncate-primed-lean-imports", + "silence-unsupported-lean-import-tail", + "drop-literal-import-operands" + ], + "selected_source_sha256": "bc636f64401f4292815a5e654ab8c6244b93686c3cde20571a53d3d83edee0cb", + "source_sha256": { + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "08b284df834f2c5c2960202046036b81826dc3900dc8c2a226ffe42b3a967212", + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T19:42:41.138824+00:00" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/selected-test_auditor.py.txt b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/selected-test_auditor.py.txt new file mode 100644 index 000000000..c964d99bb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/selected-test_auditor.py.txt @@ -0,0 +1,451 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_canonical_metadata_and_error_channels_fail_closed(self): + from unittest.mock import patch + with patch.object(source_checks, 'canonical_identifier_tokens', return_value=iter([('x', 1, 1, False, False, '')])): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + def failed_lexing(text, errors): + errors.append((1, 1, 'unsupported canonical lexical region')) + return iter(()) + with patch.object(source_checks, 'canonical_identifier_tokens', failed_lexing): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + + def test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens(self): + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) + self.assertEqual(self.lean_codes('def n := 0x0a\ndef f := 1.0e+1\n'), set()) + + def test_nested_string_placeholder_and_benign_literal_boundaries(self): + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) + self.assertEqual(self.lean_codes('def s := "brace { harmless } and \\"quoted\\""\n'), set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + + + + + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + + def test_import_module_primes_and_identifier_suffixes_are_extracted_completely(self): + result=source_checks.check_lean("import Good Q.Bad' Q.Other! Q.Last?\n") + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) + self.assertEqual(result['findings'],[]) + + def test_unsupported_import_tail_is_a_gap_after_a_valid_prefix(self): + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good Q.«Bad»\n')) + + def test_literal_import_operands_are_explicit_gaps_after_valid_prefix(self): + for operand in ['"Q.Bad"', 'r"Q.Bad"', "'q'"]: + with self.subTest(operand=operand): + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) + + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_numeral_adjoining_owned_axiom_cannot_receive_static_pass(self): + # Canonical698's already compiled counterexample; old numeric lexing hides axiom. + source = 'def harmless := 0axiom hiddenPremise : False\ntheorem bad : False := hiddenPremise\n#print axioms bad\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', + vacuity={'bad@2':{'status':'conditional','premises':[], + 'reason':'source statement only; not a witness claim'}}) + result = self.runaudit() + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass(self): + # Lean is a benign mapped import fixture; actual compilation evidence is reused. + self.add('Lean.lean', 'def imported := 1\n', 'project_lean', module='lean:Lean', vacuity={}) + source = 'import Lean\nopen Lean\n\ndef f : CoreM Unit := throwError "bad {let x := "safe"; (sorry : Nat)}"\n#print axioms f\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', vacuity={}) + result = self.runaudit() + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + + def test_known_unsupported_source_suffix_cannot_claim_a_supported_language(self): + for path,language,text in [('bad.sh','lean','echo hello\n'),('bad.js','python','x=1\n')]: + with self.subTest(path=path): + self.add(path,text,'external_pinned',language=language,module=language+':Bad'+language, + **({'vacuity':{}} if language=='lean' else {}),pin={'revision':'a'*40,'origin':'fixture'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_retained_text_source_requires_language_then_a_registered_module(self): + e=self.add('Q.txt','theorem t : False := by sorry\n','quarantined_source',expected_findings={}, + quarantine={'id':'Q-t','boundary':'Q.txt','blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + e['language']='lean';e['expected_findings']={'LEAN_PLACEHOLDER':1} + self.assertIn('MODULE_ALIAS',self.codes()) + e['module']='lean:Q';self.m['module_map']['lean:Q']='r:Q.txt' + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + + def test_primed_lean_module_after_valid_import_cannot_hide_quarantine(self): + self.add('Good.lean','def x := 1\n','project_lean',module='lean:Good',vacuity={}) + self.add("Q/Bad'.lean",'theorem t : False := by sorry\n','quarantined_source',language='lean',module="lean:Q.Bad'", + expected_findings={'LEAN_PLACEHOLDER':1},quarantine={'id':'Q-p','boundary':"Q/Bad'.lean",'blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.add('Closed.lean',"import Good Q.Bad'\n",'project_lean',module='lean:Closed',vacuity={}) + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + + + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + + + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/auditor.py b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/auditor.py new file mode 100644 index 000000000..630db4c3b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/auditor.py @@ -0,0 +1,366 @@ +#!/usr/bin/env python3 +"""G1 bounded static auditor. `STATIC_PASS` is not proof closure. See SPEC.md.""" +import argparse +from collections import Counter +import hashlib +import json +import os +from pathlib import Path, PurePosixPath +import re +import stat +import sys +import unicodedata + +from source_checks import check_lean, check_python + +APPROVED_AXIOMS = frozenset({'propext', 'Classical.choice', 'Quot.sound'}) +KINDS = frozenset({'project_lean','math_python','engineering_python','negative_fixture','quarantined_source', + 'external_pinned','binary_proof','documentation','data'}) +RETAINED = frozenset({'negative_fixture','quarantined_source'}) +SOURCE_EXTENSIONS = frozenset({'.lean','.py','.pyi','.sh','.bash','.js','.ts','.c','.cc','.cpp','.h','.rs'}) +BINARY_EXTENSIONS = frozenset({'.olean','.ilean','.o','.so','.a','.dll','.dylib','.wasm'}) +HEX = re.compile(r'[0-9a-f]{64}') +ENTRY_KEYS = frozenset({'kind','sha256','module','language','vacuity','expected_findings','quarantine', + 'fixture_purpose','pin','nonmath_review','bindings','status_evidence'}) + + +CLASS_KEYS = { + 'project_lean': {'module','vacuity'}, + 'math_python': {'module'}, + 'engineering_python': {'module','nonmath_review'}, + 'negative_fixture': {'language','module','expected_findings','fixture_purpose'}, + 'quarantined_source': {'language','module','expected_findings','quarantine'}, + 'external_pinned': {'language','module','vacuity','pin','bindings'}, + 'binary_proof': {'bindings','pin'}, + 'documentation': {'status_evidence'}, + 'data': {'status_evidence'}, +} + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def strict_json(text): + def unique(pairs): + result = {} + for k, v in pairs: + if k in result: + raise ValueError('duplicate JSON key: ' + k) + result[k] = v + return result + def refuse(token): + raise ValueError('noninteger/nonfinite JSON number refused: ' + token) + return json.loads(text, object_pairs_hook=unique, parse_float=refuse, parse_constant=refuse) + + +def normalized_path(value): + if not isinstance(value, str) or not value or '\\' in value or '\x00' in value: + return False + p = PurePosixPath(value) + return (not p.is_absolute() and '..' not in p.parts and '.' not in p.parts and str(p) == value and + unicodedata.normalize('NFC', value) == value and not any(ord(c) < 32 for c in value)) + + +def audit(manifest): + findings, retained_findings, observations = [], [], [] + records, roots, graph, source_results = {}, {}, {}, {} + classified_count, scanned_count = 0, 0 + + def add(code, detail, root='', path='', line=0): + findings.append({'code':code, 'root':root, 'path':path, 'line':line, 'detail':detail}) + + def nonempty(value): + return isinstance(value, str) and bool(value.strip()) + + def binding(value, owner, label): + if not isinstance(value, dict) or set(value) != {'root','path','sha256'}: + add('EVIDENCE_BINDING', 'malformed '+label, *owner); return None + ref = value.get('root','') + ':' + value.get('path','') if isinstance(value.get('root'),str) and isinstance(value.get('path'),str) else '' + target = records.get(ref) + if target is None or target.get('data') is None or value.get('sha256') != target['entry'].get('sha256') or digest(target['data']) != value.get('sha256'): + add('EVIDENCE_BINDING', 'missing/stale/unreadable '+label, *owner); return None + try: + return strict_json(target['data'].decode('utf-8')) + except (UnicodeError, ValueError, TypeError, RecursionError) as exc: + add('EVIDENCE_BINDING', 'non-JSON '+label+': '+str(exc), *owner); return None + + if not isinstance(manifest, dict) or set(manifest) != {'schema_version','approved_axioms','roots','module_map'} or type(manifest.get('schema_version')) is not int or manifest.get('schema_version') != 1: + add('MANIFEST','schema v1 exact top-level keys required') + manifest = manifest if isinstance(manifest,dict) else {} + approved = manifest.get('approved_axioms') + if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS: + add('FOUNDATION_PROFILE','approved imported axiom set must be exactly propext, Classical.choice, Quot.sound') + raw_roots=manifest.get('roots') + if not isinstance(raw_roots,list) or not raw_roots: + add('MANIFEST','nonempty roots required');raw_roots=[] + root_realpaths=[] + for r in raw_roots: + if not isinstance(r,dict) or set(r)!={'id','path','tree_id','tracked_files','files'}: + add('MANIFEST','root exact keys required');continue + rid=r.get('id') + if not isinstance(rid,str) or not re.fullmatch(r'[A-Za-z0-9_-]+',rid) or rid in roots: + add('MANIFEST','invalid or duplicate root id');continue + if not isinstance(r.get('tree_id'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',r['tree_id']) is None: + add('MANIFEST','immutable tree identifier required',rid) + rp=r.get('path') + if not isinstance(rp,str) or not Path(rp).is_absolute() or str(Path(rp))!=rp or unicodedata.normalize('NFC',rp)!=rp: + add('PATH','root must be normalized absolute path',rid);continue + root=Path(rp) + if not root.is_dir(): + add('FILE_MISSING','root directory missing',rid);continue + if any(p.is_symlink() for p in [root,*root.parents]): + add('PATH_SYMLINK','root or ancestor is a symlink',rid);continue + real=root.resolve() + if any(real==other or real.is_relative_to(other) or other.is_relative_to(real) for other in root_realpaths): + add('PATH','overlapping/aliased roots are forbidden',rid);continue + root_realpaths.append(real);roots[rid]=r + tracked, files=r.get('tracked_files'),r.get('files') + if not isinstance(tracked,list) or not tracked or any(not isinstance(p,str) for p in tracked) or len(set(tracked))!=len(tracked) or not isinstance(files,dict): + add('MANIFEST','nonempty unique tracked paths and file object required',rid);continue + if set(tracked)!=set(files): + add('SCOPE_CLASSIFICATION','tracked/classified path sets differ: missing='+repr(sorted(set(tracked)-set(files)))+' extra='+repr(sorted(set(files)-set(tracked))),rid) + for path in sorted(set(tracked)|set(files)): + if not normalized_path(path): + add('PATH','unsafe, nonnormalized or non-NFC file path',rid,str(path));continue + if path not in files: + continue + entry=files[path];classified_count+=1 + if not isinstance(entry,dict) or set(entry)-ENTRY_KEYS or not {'kind','sha256'}<=set(entry): + add('CLASSIFICATION','malformed classification or unknown fields',rid,path);continue + if not isinstance(entry.get('kind'),str) or entry.get('kind') not in KINDS: + add('CLASSIFICATION','unknown classification: '+str(entry.get('kind')),rid,path);continue + if set(entry)-{'kind','sha256'}-CLASS_KEYS.get(entry['kind'],set()): + add('CLASSIFICATION','fields not applicable to declared classification',rid,path) + if 'language' in entry and (not isinstance(entry['language'],str) or entry['language'] not in {'lean','python'}): + add('LANGUAGE_GAP','unsupported/nonstring language classification',rid,path);continue + if 'module' in entry and not isinstance(entry['module'],str): + add('MODULE_ALIAS','module identity must be a string',rid,path);continue + if not isinstance(entry.get('sha256'),str) or HEX.fullmatch(entry['sha256']) is None: + add('FILE_HASH','missing or malformed SHA256',rid,path) + target=root/path + record={'root':rid,'path':path,'entry':entry,'data':None};records[rid+':'+path]=record + if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)): + add('PATH_SYMLINK','symlink file/ancestor aliases are forbidden',rid,path);continue + try: + info=target.stat() + if not stat.S_ISREG(info.st_mode): + add('FILE_MISSING','not a regular file',rid,path);continue + if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH): + add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue + data=target.read_bytes() + except FileNotFoundError: + add('FILE_MISSING','declared file is absent',rid,path);continue + except OSError as exc: + add('FILE_UNREADABLE',str(exc),rid,path);continue + record['data']=data;scanned_count+=1 + if digest(data)!=entry.get('sha256'): + add('FILE_HASH','content differs from manifest pin',rid,path) + module_map=manifest.get('module_map') + if not isinstance(module_map,dict): + add('MANIFEST','module_map must be an object');module_map={} + for name, ref in module_map.items(): + if not isinstance(name,str) or not re.fullmatch(r'(lean|python):[^\s:]+',name) or not isinstance(ref,str) or ref not in records: + add('MODULE_ALIAS','module map points outside classified scope: '+str(name));continue + if records[ref]['entry'].get('kind') in {'documentation','data','binary_proof'}: + add('MODULE_ALIAS','module identity must point to actual classified source: '+name) + if records[ref]['entry'].get('module')!=name: + add('MODULE_ALIAS','module map alias does not equal target declared identity: '+name) + for ref, record in records.items(): + rid,path,entry=record['root'],record['path'],record['entry'] + owner=(rid,path);kind=entry['kind'];data=record['data'];suffix=Path(path).suffix.lower() + language=entry.get('language') + if kind=='project_lean': language='lean' + if kind in {'math_python','engineering_python'}: language='python' + source_like=suffix in SOURCE_EXTENSIONS or path.lower().endswith(('.lean.txt','.py.txt','.sh.txt','.js.txt')) + if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS): + add('SOURCE_CLASSIFICATION','source/proof object cannot be relabeled documentation/data',rid,path) + if kind=='binary_proof' and source_like: + add('SOURCE_CLASSIFICATION','source cannot be relabeled binary proof',rid,path) + if kind in {'project_lean','math_python','engineering_python'} and suffix not in ({'.lean'} if language=='lean' else {'.py','.pyi'}): + add('SOURCE_CLASSIFICATION','source kind does not match extension',rid,path) + if (kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)) and language not in {'lean','python'}: + add('LANGUAGE_GAP','source needs supported explicit lean/python classification',rid,path) + expected_language='lean' if path.lower().endswith(('.lean','.lean.txt')) else 'python' if path.lower().endswith(('.py','.pyi','.py.txt')) else None + if source_like and expected_language is None: + add('LANGUAGE_GAP','known source extension has no supported checker',rid,path) + if expected_language is not None and language is not None and language!=expected_language: + add('SOURCE_CLASSIFICATION','declared language disagrees with source extension',rid,path) + if language is not None and language not in {'lean','python'}: + add('LANGUAGE_GAP','unsupported language classification',rid,path) + if kind in RETAINED and (not isinstance(entry.get('expected_findings'),dict) or any(not isinstance(k,str) or type(v) is not int or v<1 for k,v in entry.get('expected_findings',{}).items())): + add('RETAINED_FINDING_MISMATCH','exact positive finding-count map required',rid,path) + if kind=='negative_fixture' and not nonempty(entry.get('fixture_purpose')): + add('NEGATIVE_FIXTURE','retained test purpose required',rid,path) + if kind=='quarantined_source': + q=entry.get('quarantine') + if not isinstance(q,dict) or set(q)!={'id','boundary','blocking_reason','owner','maintenance'} or any(not nonempty(q.get(k)) for k in ['id','boundary','blocking_reason']) or q.get('owner')!='none' or q.get('maintenance')!='zero': + add('QUARANTINE','exact id/boundary/blocking reason and terminal owner:none maintenance:zero required',rid,path) + if kind=='external_pinned' or 'pin' in entry: + pin=entry.get('pin') + if not isinstance(pin,dict) or set(pin)!={'revision','origin'} or not nonempty(pin.get('origin')) or not isinstance(pin.get('revision'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',pin['revision']) is None: + add('EXTERNAL_PIN','immutable 40/64 hex revision and nonempty origin required',rid,path) + if kind=='engineering_python': + review=binding(entry.get('nonmath_review'),owner,'nonmathematical review') + if not isinstance(review,dict) or set(review)!={'type','source_sha256','scope','reviewer','rationale'} or review.get('type')!='nonmathematical_review' or review.get('scope')!='nonmathematical_execution_only' or review.get('source_sha256')!=entry['sha256'] or not nonempty(review.get('reviewer')) or not nonempty(review.get('rationale')): + add('NONMATH_REVIEW','explicit hash-bound reviewed nonmathematical scope required',rid,path) + if kind=='binary_proof' or suffix in BINARY_EXTENSIONS: + bs=entry.get('bindings') + if not isinstance(bs,dict) or set(bs)!={'G2','G4'}: + add('BINARY_BINDING','binary proof requires exact G2/G4 bindings',rid,path) + else: + for gate,value in bs.items(): + proof=binding(value,owner,gate+' binary proof evidence') + if not isinstance(proof,dict) or proof.get('type')!='kernel_evidence' or proof.get('gate')!=gate or proof.get('subject_sha256')!=entry['sha256'] or proof.get('observed_status')!='PASS' or type(proof.get('exit_code')) is not int or proof.get('exit_code')!=0 or not isinstance(proof.get('command'),list) or not proof['command'] or not nonempty(proof.get('run_id')): + add('BINARY_BINDING','missing/stale/nonpassing '+gate+' subject evidence',rid,path) + if data is None: + continue + text=None + if kind!='binary_proof' and suffix not in BINARY_EXTENSIONS: + try: + text=data.decode('utf-8') + except UnicodeError: + add('FILE_ENCODING','nonbinary classified file is not strict UTF-8',rid,path);continue + if language in {'lean','python'}: + if text is None: + add('SOURCE_CLASSIFICATION','binary object cannot be declared Lean/Python source',rid,path);continue + module=entry.get('module') + if not isinstance(module,str) or not module.startswith(language+':') or module_map.get(module)!=ref: + add('MODULE_ALIAS','source module must have one exact registered identity',rid,path) + result=check_lean(text) if language=='lean' else check_python(text, kind!='engineering_python') + source_results[ref]=result + raw_findings=list(result['findings']) + if kind in RETAINED: + actual=dict(Counter(f['code'] for f in raw_findings)) + if actual!=entry.get('expected_findings'): + add('RETAINED_FINDING_MISMATCH','expected '+repr(entry.get('expected_findings'))+' actual '+repr(actual),rid,path) + for f in raw_findings: + retained_findings.append({'root':rid,'path':path,**f}) + else: + for f in raw_findings: + add(f['code'],f['detail'],rid,path,f['line']) + graph[ref]=[] + for imported in result['imports']: + if language=='python' and imported=='fractions' and kind=='math_python' and 'python:fractions' not in module_map: + continue # Explicit exact-arithmetic trust profile; G7 binds runtime/stdlib. + target=module_map.get(language+':'+imported) + if target not in records: + add('IMPORT_UNRESOLVED','unknown/unsupported dependency '+language+':'+imported,rid,path) + else: + graph[ref].append(target) + if kind=='math_python' and records[target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only source '+target,rid,path) + if language=='python': + parts=imported.split('.') + for i in range(1,len(parts)): + prefix=module_map.get('python:'+'.'.join(parts[:i])) + if prefix in records: + graph[ref].append(prefix) + for candidate in result.get('import_candidates',[]): + target=module_map.get('python:'+candidate) + if target in records: + graph[ref].append(target) + if language=='lean' and kind not in RETAINED: + annotations=entry.get('vacuity') + declarations=result['declarations'] + keys=[d['key'] for d in declarations] + if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys): + add('VACUITY_COVERAGE','annotation keys must exactly cover theorem/lemma/example source locations',rid,path) + annotations=annotations if isinstance(annotations,dict) else {} + for declaration in declarations: + key=declaration['key'];a=annotations.get(key) + if not isinstance(a,dict) or not isinstance(a.get('status'),str) or a.get('status') not in {'conditional','nonvacuous','vacuous'} or not nonempty(a.get('reason')): + add('VACUITY_ANNOTATION','required status/reason for '+key,rid,path,declaration['line']);continue + if set(a)-{'status','reason','premises','evidence'}: + add('VACUITY_ANNOTATION','unknown annotation keys for '+key,rid,path,declaration['line']) + if a['status']=='conditional' and (not isinstance(a.get('premises'),list) or any(not nonempty(p) for p in a['premises'])): + add('VACUITY_ANNOTATION','explicit premises list required for '+key,rid,path,declaration['line']) + if declaration['contradictions'] and a['status']!='vacuous': + add('VACUITY_CONTRADICTION','syntactic contradiction candidates require vacuous: '+key+': '+repr(declaration['contradictions']),rid,path,declaration['line']) + if a['status']=='nonvacuous': + certificate=binding(a.get('evidence'),owner,'nonvacuity certificate '+key) + if not isinstance(certificate,dict) or certificate.get('type')!='nonvacuity_certificate' or certificate.get('subject_sha256')!=entry['sha256'] or certificate.get('declaration')!=key or not nonempty(certificate.get('witness_description')): + add('VACUITY_EVIDENCE','content-bound nonvacuity witness certificate required for '+key,rid,path,declaration['line']) + observations.append({'root':rid,'path':path,'declaration':key,'status':a['status'],'contradiction_candidates':declaration['contradictions']}) + if entry.get('status_evidence') is not None: + if entry['status_evidence'] is not True: + add('STATUS_EVIDENCE','status_evidence must be true, never disable/skip',rid,path) + try: + s=strict_json(text) + except (ValueError,TypeError,RecursionError) as exc: + add('STATUS_EVIDENCE','invalid status JSON: '+str(exc),rid,path);continue + required={'schema_version','gate','observed_status','run_id','command','exit_code','inputs'} + if not isinstance(s,dict) or not required<=set(s) or set(s)-required-{'evidence'} or type(s.get('schema_version')) is not int or s.get('schema_version')!=1 or not isinstance(s.get('gate'),str) or s.get('gate') not in {'G'+str(i) for i in range(12)} or not isinstance(s.get('observed_status'),str) or s.get('observed_status') not in {'PASS','FAIL','NOT_RUN','ERROR','INACCESSIBLE'} or not nonempty(s.get('run_id')) or not isinstance(s.get('command'),list) or not s['command'] or any(not nonempty(c) for c in s['command']) or not isinstance(s.get('inputs'),dict) or not s['inputs']: + add('STATUS_EVIDENCE','invalid exact observed status schema',rid,path);continue + for input_ref,value in s['inputs'].items(): + target=records.get(input_ref) + if target is None or value!=target['entry'].get('sha256') or target['data'] is None or digest(target['data'])!=value: + add('STATUS_EVIDENCE','status input missing/stale: '+input_ref,rid,path) + if s['observed_status']=='NOT_RUN': + if s['exit_code'] is not None or 'evidence' in s: + add('STATUS_EVIDENCE','NOT_RUN cannot carry execution exit/evidence',rid,path) + else: + evidence=binding(s.get('evidence'),owner,'observed status receipt') + comparable={k:v for k,v in s.items() if k!='evidence'} + if json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':')) or type(s['exit_code']) is not int or (s['observed_status']=='PASS' and s['exit_code']!=0) or (s['observed_status']=='FAIL' and s['exit_code']==0): + add('STATUS_EVIDENCE','status differs from bound observed execution receipt',rid,path) + for start in sorted(graph): + if records[start]['entry']['kind'] in RETAINED: + continue + seen,pending=set(),list(graph[start]) + while pending: + target=pending.pop() + if target in seen: + continue + seen.add(target) + if records[target]['entry']['kind'] in RETAINED: + add('QUARANTINE_IMPORT','closed source depends on isolated source '+target,records[start]['root'],records[start]['path']) + pending.extend(graph.get(target,[])) + findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + retained_findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + manifest_bytes=json.dumps(manifest,sort_keys=True,separators=(',',':'),ensure_ascii=False).encode() + inventories={rid:digest(json.dumps(sorted(r['tracked_files']),ensure_ascii=False,separators=(',',':')).encode()) for rid,r in roots.items() if isinstance(r.get('tracked_files'),list) and all(isinstance(p,str) for p in r['tracked_files'])} + obligations=[{'gate':g,'required_work':work} for g,work in [ + ('G2','All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'), + ('G3','Actual Lean build and no sorry warnings; source scanning does not execute Lean.'), + ('G4','Kernel recheck every closed declaration and all bound binary proof objects.'), + ('G5','Execute retained regression tests; source profile does not establish runtime success or historical test retention.'), + ('G7','Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'), + ('G8','Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'), + ('G10','Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.')]] + return {'schema_version':1,'result':'STATIC_PASS' if not findings else 'FAIL','claim':'bounded static rules only; not CBZ-0 or mathematical proof closure', + 'manifest_sha256':digest(manifest_bytes),'inventory_sha256':inventories,'classified_count':classified_count, + 'scanned_count':scanned_count,'retained_count':len(retained_findings),'findings':findings, + 'fatal_gaps':[f for f in findings if f['code'].endswith('_GAP') or f['code'] in {'MANIFEST','SCOPE_CLASSIFICATION','CLASSIFICATION','FILE_MISSING','FILE_UNREADABLE','IMPORT_UNRESOLVED','EVIDENCE_BINDING'}], + 'retained_findings':retained_findings,'vacuity_observations':observations,'remaining_obligations':obligations, + 'files':[{'root':r['root'],'path':r['path'],'kind':r['entry']['kind'],'expected_sha256':r['entry']['sha256'],'actual_sha256':digest(r['data']) if r['data'] is not None else None} for _,r in sorted(records.items())]} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + sub=parser.add_subparsers(dest='command',required=True) + p=sub.add_parser('audit',help='audit exact controller-supplied tracked scope') + p.add_argument('--manifest',required=True,type=Path) + p.add_argument('--output',type=Path,help='also write deterministic report JSON') + args=parser.parse_args(argv) + try: + raw=args.manifest.read_bytes() + manifest=strict_json(raw.decode('utf-8')) + report=audit(manifest) + report['manifest_file_sha256']=digest(raw) + code=0 if report['result']=='STATIC_PASS' else 1 + except (OSError,ValueError,UnicodeError,RecursionError) as exc: + report={'schema_version':1,'result':'INPUT_ERROR','findings':[{'code':'INPUT','detail':str(exc)}]};code=2 + encoded=json.dumps(report,sort_keys=True,indent=2,ensure_ascii=False)+'\n' + if args.output: + try: + args.output.write_text(encoded,encoding='utf-8') + except OSError as exc: + report={'schema_version':1,'result':'OUTPUT_ERROR','findings':[{'code':'OUTPUT','detail':str(exc)}]} + encoded=json.dumps(report,sort_keys=True,indent=2)+'\n';code=3 + sys.stdout.write(encoded) + return code + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/canonical_lean.py b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/canonical_lean.py new file mode 100644 index 000000000..2eee3a220 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/canonical_lean.py @@ -0,0 +1,621 @@ +#!/usr/bin/env python3 +"""Layer A textual scanner for Lean 4 sources (CBZ-0 gate G1). + +What it certifies, exactly: + For every scanned ``.lean`` file it reports each *code* token (outside + comments, string literals and char literals) that names a Layer A hazard: + + violation tokens (gate-failing in production context) + A1 placeholders : sorry, admit, sorryAx, admitGoal, mkSorry + A2 trust holes : axiom (declaration keyword), native_decide, + ofReduceBool, ofReduceNat, trustCompiler, + skipKernelTC (kernel-check bypass option), + addDeclWithoutChecking, and the ``decide`` options + ``+native`` / ``native := true`` + review tokens (reported, never gate-failing on their own) + A3 float : Float, Float32 + A2 compiled code: unsafe, implemented_by, extern + A1 tactic stop : ``stop`` as the first token on its line + + ``sorry``/``admit``/``axiom``/``native_decide``/``Float``/``Float32``/ + ``unsafe``/``stop`` match only as a whole undotted identifier; the other + violation tokens also match as the last component of a dotted name + (``Lean.ofReduceBool``, ``debug.skipKernelTC``), including an escaped + component (``Lean.«ofReduceBool»`` and ``«sorryAx»`` name the same + constants). An escaped keyword such as ``«sorry»`` is an ordinary + identifier, not the keyword, and is not flagged. + +Fail-closed: a string, block comment, raw string, interpolated string or +``«`` name or character literal left unterminated is reported as an ``error`` +finding, which fails the run like a violation, because the rest of the +file cannot be lexed reliably. + +What it does NOT certify: + * That a file compiles, or that no placeholder arises through + metaprogramming that never spells a listed token. Gates G2-G4 + (``#print axioms`` / kernel re-check) close that gap; this scanner is a + necessary, not sufficient, condition. + * Anything about non-Lean files (Python bounds are a separate gate). + +Lexing follows Lean 4: ``--`` line comments; nested ``/- -/`` block comments +(including ``/--`` and ``/-!``); ``"..."`` strings with backslash escapes; +interpolated strings (``s!"..{code}.."``, ``m!``, ``f!``) whose ``{}`` +regions are lexed as code, including layout after the prefix; balanced brace +regions in ordinary-looking strings are conservatively scanned too (macros +may interpolate them); raw strings ``r"..."`` / ``r#"..."#``; char +literals; and ``«...»`` escaped identifiers. + +Standard library only. No floating point is used in any decision. + +Usage: + layer_a_scan.py PATH... scan files/directories + layer_a_scan.py --git REPO --rev REV scan every .lean blob in a git tree +Options: + --json FILE write all findings as JSON + --fail-on CTX comma list of contexts whose violations fail the run + (default: production). Use "all" for every context. +Git mode scans regular owned blobs only: symlinks/gitlinks are rejected +until explicitly resolved and scanned by a separate pin-aware admission. +Filesystem mode rejects symlinks/missing roots, scans all directories except +.git (including .lake); prefer Git mode for repository-source inventories. +Use --fail-on all for the federation Layer A gate: context names are reporting +labels, not authorization to hide historical/control violations. +Exit status: 0 = no failing violation, 1 = failing violation, 2 = usage/IO. +""" +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys + +VIOLATION_EXACT = { + "sorry": "A1", + "admit": "A1", + "axiom": "A2", + "native_decide": "A2", +} +VIOLATION_COMPONENT = { + "sorryAx": "A1", + "admitGoal": "A1", + "mkSorry": "A1", + "ofReduceBool": "A2", + "ofReduceNat": "A2", + "trustCompiler": "A2", + "skipKernelTC": "A2", + "addDeclWithoutChecking": "A2", +} +REVIEW_EXACT = { + "Float": "A3", + "Float32": "A3", + "unsafe": "A2", +} +REVIEW_COMPONENT = { + "implemented_by": "A2", + "extern": "A2", +} +LINE_START_REVIEW = {"stop": "A1"} + +INTERP_PREFIXES = {"s!", "m!", "f!"} +# ``decide +native`` and ``native := true`` select compiler evaluation, i.e. +# ofReduceBool. ``native`` after a ``+`` is flagged even with a space between +# (safe direction: ``x + native`` is a false positive, never a miss). +_NATIVE_TRUE = re.compile(r"\s*:=\s*true(?![\w'!?])") +_EXCLUDED_LETTERS = {"λ", "Π", "Σ"} +_CHAR_LIT = re.compile(r"'(?:\\(?:u[0-9a-fA-F]{4}|x[0-9a-fA-F]{2}|[\\\"'rnt])|[^\\'\n])'") +# Pinned Lean4.34.1 Parser/Basic.lean:831-918. This recognizes spelling, +# never evaluates a numeral or makes a floating-point decision. +_NUMERAL = re.compile(r"(?:0[bB][01_]+|0[oO][0-7_]+|0[xX][0-9a-fA-F_]+|[0-9][0-9_]*(?:\.(?!\.)[0-9_]*)?(?:[eE][+-]?[0-9][0-9_]*)?)") + + +def _is_letter(ch: str) -> bool: + if ch in _EXCLUDED_LETTERS: + return False + if ch.isascii(): + return ch.isalpha() + o = ord(ch) + # Letter-like symbols and Greek/Coptic, as Lean's isLetterLike. + return (0x3B1 <= o <= 0x3C9 and o != 0x3BB) or (0x391 <= o <= 0x3A9 and o not in (0x3A0, 0x3A3)) \ + or 0x3CA <= o <= 0x3FB or 0x1F00 <= o <= 0x1FFE or 0x2100 <= o <= 0x214F \ + or 0x1D49C <= o <= 0x1D59F \ + or (0x00C0 <= o <= 0x00FF and o not in (0x00D7, 0x00F7)) \ + or 0x0100 <= o <= 0x017F + + +def _is_subscript(ch: str) -> bool: + o = ord(ch) + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A or o == 0x2C7C + + +def _id_start(ch: str) -> bool: + return ch == "_" or _is_letter(ch) + + +def _id_rest(ch: str) -> bool: + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or '0' <= ch <= '9' \ + or _is_letter(ch) or _is_subscript(ch) + + +def _code_follow(text: str, start: int) -> str: + """Remove layout from a native-option suffix, without a lookahead limit. + + Only the first assignment value is needed. Nested comments are layout; + an unfinished comment cannot manufacture a successful match. + """ + out = [] + i = start + while i < len(text) and len(out) < 8: + if text.startswith('--', i): + end = text.find('\n', i) + i = len(text) if end < 0 else end + elif text.startswith('/-', i): + depth = 1 + i += 2 + while i < len(text) and depth: + if text.startswith('/-', i): + depth += 1 + i += 2 + elif text.startswith('-/', i): + depth -= 1 + i += 2 + else: + i += 1 + if depth: + return '' + elif text[i].isspace(): + i += 1 + else: + out.append(text[i]) + i += 1 + return ''.join(out) + + +def _native_assignment(follow: str) -> bool: + """A native config field is unsafe unless its complete value is false. + + Eight non-layout characters cover ':=false' and its following delimiter. + Merely starting with false is insufficient (false || true is unsafe). + Other expressions are deliberately conservative findings, never evaluated. + """ + return (follow.startswith(':=') and + not (len(follow) >= 8 and follow[2:7] == 'false' and follow[7] in '},')) + + +def _brace_segments(text: str, start: int, end: int, line: int, col: int): + """Secondary conservative code-hole interpretation; primary cursor stays put. + + The same lexer reads a possible hole through nested strings/comments and + stops at its matching brace. It may extend past the first quote of the + primary ordinary-string interpretation: Lean macros can interpolate that + string and permit quoted terms inside its hole. Ambiguous ordinary brace + data can add findings, but cannot suppress primary-code findings. + """ + i = start + while i < end: + if text[i] == '\\': + i += 2 + continue + if text[i] == '{': + prefix = text[start:i + 1] + base_line = line + prefix.count('\n') + base_col = (len(prefix.rsplit('\n', 1)[-1]) + 1 if '\n' in prefix + else col + len(prefix)) + for name, ln, cl, first, plus, follow, field in lex_tokens(text[i + 1:], _until_brace=True): + yield name, base_line + ln - 1, (base_col + cl - 1 if ln == 1 else cl), first, plus, follow, field + i += 1 + + +def lex_tokens(text: str, errors: list | None = None, *, _until_brace: bool = False): + """Yield (name, line, col, line_start, plus_before, follow, field_before). + + ``name`` is the full dotted identifier text; an escaped ``«...»`` + component becomes ``\x00`` plus its text (inner dots as ``\x01``), so it + matches constant names but never a keyword. ``plus_before`` says the + identifier follows a ``+`` across layout; ``follow`` is a normalized + assignment-value prefix after it. + Unterminated constructs are appended to ``errors`` as (line, col, kind). + + Modes are kept on an explicit stack: a ``code`` frame (with a brace + depth when it is an interpolation region) or an ``istr`` frame (the body + of an interpolated string, where ``{`` opens a nested code region). + """ + i = 0 + n = len(text) + line = 1 + col = 1 + line_has_token = False + last_code_char = '' + stack: list[list] = [["code", 0 if _until_brace else None]] + if errors is None: + errors = [] + + def advance(k: int): + nonlocal i, line, col, line_has_token + for _ in range(k): + if i >= n: + return + if text[i] == "\n": + line += 1 + col = 1 + line_has_token = False + else: + col += 1 + i += 1 + + def read_ident_tail(parts: list[str]): + # dotted continuation: .ident or .«escaped» + while i < n and text[i] == "." and i + 1 < n and (_id_start(text[i + 1]) or text[i + 1] == "«"): + advance(1) + if text[i] == "«": + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + return + inner = text[i + 1:j] + advance(j + 1 - i) + parts.append("\x00" + inner.replace(".", "\x01")) + else: + s2 = i + while i < n and _id_rest(text[i]): + advance(1) + parts.append(text[s2:i]) + + while i < n: + frame = stack[-1] + c = text[i] + if frame[0] == "istr": + if c == "\\": + advance(2) + elif c == '"': + advance(1) + stack.pop() + elif c == "{": + advance(1) + stack.append(["code", 0]) + else: + advance(1) + continue + # ---- code mode + if c == "-" and text.startswith("--", i): + while i < n and text[i] != "\n": + advance(1) + continue + if c == "/" and text.startswith("/-", i): + start = (line, col) + depth = 0 + while i < n: + if text.startswith("/-", i): + depth += 1 + advance(2) + elif text.startswith("-/", i): + depth -= 1 + advance(2) + if depth == 0: + break + else: + advance(1) + if depth: + errors.append(start + ("unterminated_comment",)) + continue + if frame[1] is not None and c == "{": + frame[1] += 1 + advance(1) + continue + if frame[1] is not None and c == "}": + advance(1) + if frame[1] == 0: + if len(stack) == 1: + return + stack.pop() # back to the interpolated string body + else: + frame[1] -= 1 + continue + if c == '"': + if last_code_char in INTERP_PREFIXES: + start = (line, col) + advance(1) + stack.append(["istr", start[0], start[1]]) + line_has_token = True + last_code_char = '"' + continue + start = (line, col) + advance(1) + content_start = i + closed = False + while i < n: + cc = text[i] + if cc == "\\": + advance(2) + continue + advance(1) + if cc == '"': + closed = True + break + if not closed: + errors.append(start + ("unterminated_string",)) + else: + yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1) + line_has_token = True + last_code_char = '"' + continue + if c == "'": + m = _CHAR_LIT.match(text, i) + # Apostrophes also occur in Mathlib image/tSum/preimage notation. + prime_notation = (text.startswith("''", i) or + (i > 0 and not text[i - 1].isspace() + and text[i - 1] not in '=([{,;:')) + if m is None and not prime_notation: + errors.append((line, col, 'unterminated_char')) + advance(m.end() - i if m else (2 if text.startswith("''", i) else 1)) + line_has_token = True + last_code_char = "'" + continue + if c == "«": + start_line, start_col, start_first = line, col, not line_has_token + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + break + inner = text[i + 1:j] + advance(j + 1 - i) + parts = ["\x00" + inner.replace(".", "\x01")] + read_ident_tail(parts) + line_has_token = True + plus = last_code_char == '+' + field = last_code_char in ('{', ',', 'with') + last_code_char = 'identifier' + yield ".".join(parts), start_line, start_col, start_first, plus, _code_follow(text, i), field + continue + if _id_start(c): + start_line, start_col, start_first = line, col, not line_has_token + s = i + while i < n and _id_rest(text[i]): + advance(1) + word = text[s:i] + if word == "r" and i < n and text[i] in '"#': + k = i + while k < n and text[k] == "#": + k += 1 + if k < n and text[k] == '"': + close = '"' + "#" * (k - i) + end = text.find(close, k + 1) + if end < 0: + errors.append((start_line, start_col, "unterminated_raw_string")) + end = n if end < 0 else end + len(close) + advance(end - i) + line_has_token = True + last_code_char = '"' + continue + if word in INTERP_PREFIXES and i < n and text[i] == '"': + advance(1) + stack.append(["istr", start_line, start_col]) + line_has_token = True + last_code_char = '"' + continue + parts = [word] + read_ident_tail(parts) + line_has_token = True + plus = last_code_char == '+' + field = last_code_char in ('{', ',', 'with') + last_code_char = word + yield ".".join(parts), start_line, start_col, start_first, plus, _code_follow(text, i), field + continue + if c.isdigit(): + # A numeral can abut a command keyword in valid Lean (0axiom). + # Never swallow alphabetic code as part of a numeric token. + match = _NUMERAL.match(text, i) + advance(match.end() - i if match else 1) + line_has_token = True + last_code_char = 'number' + continue + if not c.isspace(): + line_has_token = True + last_code_char = c + advance(1) + for frame in stack: + if frame[0] == "istr": + errors.append((frame[1], frame[2], "unterminated_interpolated_string")) + break + + +def classify_token(name: str, line_start: bool, plus_before: bool = False, follow: str = "", field_before: bool = False): + """Return (kind, layer, severity) or None.""" + if name == '\x00native': + name = 'native' + last = name.split(".")[-1] + if last.startswith("\x00"): + # escaped component: the same constant name, never a keyword + last = last[1:] + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + if name == "native" and (plus_before or _NATIVE_TRUE.match(follow) or (field_before and _native_assignment(follow))): + return "native", "A2", "violation" + if "." not in name: + if name in VIOLATION_EXACT: + return name, VIOLATION_EXACT[name], "violation" + if name in REVIEW_EXACT: + return name, REVIEW_EXACT[name], "review" + if line_start and name in LINE_START_REVIEW: + return name, LINE_START_REVIEW[name], "review" + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + + +_EVIDENCE_SEG = re.compile(r"(^|/)(raw|runs|archive|attempts)(/|$)|-evidence(/|$)") +_CONTROL_NAME = re.compile(r"(?i)(control|negative|mutation|mutant|counterproof|falsifier)") + + +def context_of(path: str) -> str: + p = path.replace("\\", "/") + if _EVIDENCE_SEG.search(p): + return "evidence_copy" + if _CONTROL_NAME.search(os.path.basename(p)): + return "control" + return "production" + + +def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: + out = [] + ctx = context_of(path) + errors: list = [] + found = [] + seen = set() + for name, ln, cl, first, plus, follow, field in lex_tokens(text, errors): + r = classify_token(name, first, plus, follow, field) + if r is not None and (ln, cl, name, r) not in seen: + seen.add((ln, cl, name, r)) + found.append((ln, cl, name.replace("\x00", "«").replace("\x01", "."), r)) + for ln, cl, kind in errors: + found.append((ln, cl, "", (kind, "A", "error"))) + for ln, cl, token, (kind, layer, sev) in sorted(found, key=lambda x: (x[0], x[1])): + f = {"path": path, "line": ln, "col": cl, "token": token, "kind": kind, + "layer": layer, "severity": sev, "context": ctx} + if blob: + f["blob"] = blob + out.append(f) + return out + + +def iter_fs(paths): + def walk_error(exc): + raise exc + for p in paths: + if not os.path.exists(p): + raise OSError(f"source path does not exist: {p}") + if os.path.islink(p): + raise OSError(f"source symlink requires explicit target admission: {p}") + if os.path.isdir(p): + for root, dirs, files in os.walk(p, onerror=walk_error): + dirs[:] = sorted(d for d in dirs if d != ".git") + for d in dirs: + if os.path.islink(os.path.join(root, d)): + raise OSError(f"source directory symlink requires explicit target admission: {d}") + for fn in sorted(files): + if fn.endswith(".lean"): + full = os.path.join(root, fn) + if os.path.islink(full): + raise OSError(f"source symlink requires explicit target admission: {full}") + yield os.path.relpath(full, p), full + elif p.endswith(".lean"): + yield p, p + + +def git_lean_blobs(repo: str, rev: str): + env = {k: v for k, v in os.environ.items() if not k.startswith("GIT_")} + env.update(GIT_CONFIG_GLOBAL=os.devnull, GIT_CONFIG_SYSTEM=os.devnull, + GIT_NO_REPLACE_OBJECTS="1", GIT_NO_LAZY_FETCH="1", + GIT_TERMINAL_PROMPT="0") + cmd = ["git", "--no-replace-objects", "-C", repo] + ls = subprocess.run(cmd + ["ls-tree", "-r", "-z", rev], + check=True, capture_output=True, env=env).stdout + entries = [] + for rec in ls.split(b"\0"): + if not rec: + continue + meta, path = rec.split(b"\t", 1) + mode, typ, sha = meta.split() + p = path.decode("utf-8", "strict") + if typ == b"commit": + raise OSError(f"gitlink requires a separately pinned scan: {p}") + if typ == b"blob" and p.endswith(".lean"): + if mode not in (b"100644", b"100755"): + raise OSError(f"nonregular source blob requires explicit admission: {p}") + entries.append((p, sha.decode())) + if not entries: + return + proc = subprocess.Popen(cmd + ["cat-file", "--batch"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) + try: + for p, sha in entries: + proc.stdin.write(sha.encode() + b"\n") + proc.stdin.flush() + header = proc.stdout.readline().split() + if len(header) != 3 or header[0] != sha.encode() or header[1] != b"blob" or not header[2].isdigit(): + raise OSError(f"invalid git blob header: {p}") + size = int(header[2]) + data = proc.stdout.read(size) + trailer = proc.stdout.read(1) + if len(data) != size or trailer != b"\n": + raise OSError(f"truncated git blob: {p}") + yield p, sha, data + proc.stdin.close() + code = proc.wait() + if code != 0: + raise OSError(f"git cat-file failed with exit {code}") + finally: + if proc.poll() is None: + proc.terminate() + if not proc.stdin.closed: + proc.stdin.close() + proc.stdout.close() + proc.stderr.close() + proc.wait() + + +def main(argv=None) -> int: + ap = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + ap.add_argument("paths", nargs="*") + ap.add_argument("--git", metavar="REPO") + ap.add_argument("--rev", default="HEAD") + ap.add_argument("--json", metavar="FILE") + ap.add_argument("--fail-on", default="production") + args = ap.parse_args(argv) + if not args.paths and not args.git: + ap.print_usage(sys.stderr) + return 2 + findings: list[dict] = [] + files = 0 + undecodable = [] + try: + if args.git: + for p, sha, data in git_lean_blobs(args.git, args.rev): + files += 1 + try: + text = data.decode("utf-8") + except UnicodeDecodeError: + undecodable.append(p) + continue + findings += scan_text(text, p, sha) + for rel, full in iter_fs(args.paths): + files += 1 + try: + with open(full, encoding="utf-8") as fh: + text = fh.read() + except UnicodeDecodeError: + undecodable.append(rel) + continue + findings += scan_text(text, rel) + except (OSError, UnicodeDecodeError, subprocess.CalledProcessError) as exc: + print(f"layer_a_scan: error: {exc}", file=sys.stderr) + return 2 + fail_ctx = None if args.fail_on == "all" else set(args.fail_on.split(",")) + failing = [f for f in findings if f["severity"] in ("violation", "error") + and (fail_ctx is None or f["context"] in fail_ctx)] + summary = {"files": files, "findings": len(findings), + "violations": sum(f["severity"] == "violation" for f in findings), + "errors": sum(f["severity"] == "error" for f in findings), + "failing": len(failing), "undecodable": undecodable} + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"summary": summary, "findings": findings}, fh, indent=1, ensure_ascii=False) + for f in failing: + print(f"{f['path']}:{f['line']}:{f['col']}: {f['layer']} {f['kind']} ({f['context']})") + print(json.dumps(summary, ensure_ascii=False)) + # Undecodable files cannot be certified clean: fail closed. + if undecodable: + return 1 + return 1 if failing else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/mutation_test.py new file mode 100644 index 000000000..b26bf3834 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/mutation_test.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"if ch in _EXCLUDED_LETTERS:","if False:"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"error('unsupported or unterminated character literal'); advance(i + 1)","advance(i + 1)"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def run_one(name, filename, transform, output_dir): + """Execute the unchanged behavioral suite against a temporary actual checker mutation.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + (root/filename).write_text(changed,encoding='utf-8') + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(root/'tests'),'-p','test_auditor.py','-v'] + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + try: + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + except subprocess.TimeoutExpired as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + tests,failures,errors=parse_test_result(output,p.returncode) + if p.returncode==0 and tests: + outcome='SURVIVED' + elif p.returncode!=0 and tests and failures and not errors: + outcome='KILLED' + else: + outcome='ERROR' + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode,'tests_run':tests, + 'assertion_failures':failures,'errors':errors,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(HERE/'tests'),'-v'] + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + tests,failures,errors=parse_test_result(baseline.stdout,baseline.returncode) + results=[] + if baseline.returncode==0 and tests: + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline.returncode==0 and tests>0 and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/source_checks.py b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/source_checks.py new file mode 100644 index 000000000..735fb5a78 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/source_checks.py @@ -0,0 +1,319 @@ +"""Bounded lexical/AST checks. See SPEC.md for claims, trust profile and nonclaims.""" +import ast +from dataclasses import dataclass +import re + +from canonical_lean import lex_tokens as canonical_identifier_tokens, _CHAR_LIT as canonical_character_literal + + +@dataclass(frozen=True) +class Token: + text: str + line: int + column: int + quoted: bool = False + + +def finding(code, detail, line=0): + return {'code': code, 'detail': detail, 'line': line} + + +def lean_tokens(text): + """Tokenize source without interpreting syntax, retaining accurate source locations.""" + tokens, gaps = [], [] + i, line, column, n = 0, 1, 0, len(text) + + def advance(end): + nonlocal i, line, column + segment = text[i:end] + count = segment.count('\n') + column = len(segment.rsplit('\n', 1)[-1]) if count else column + len(segment) + line += count + i = end + + def error(detail): + gaps.append(finding('LEAN_LEXICAL_GAP', detail, line)) + + def literal(): + tokens.append(Token('', line, column)) + + while i < n: + c = text[i] + if c.isspace(): + advance(i + 1) + elif text.startswith('--', i): + end = text.find('\n', i + 2) + advance(n if end < 0 else end) + elif text.startswith('/-', i): + j, depth = i + 2, 1 + while j < n and depth: + if text.startswith('/-', j): + depth += 1; j += 2 + elif text.startswith('-/', j): + depth -= 1; j += 2 + else: + j += 1 + if depth: + error('unterminated nested block comment') + advance(j) + elif (raw := re.match(r'r(#+)?"', text[i:])) is not None: + literal() + marker = '"' + (raw.group(1) or '') + end = text.find(marker, i + raw.end()) + if end < 0: + error('unterminated raw string literal'); advance(n) + else: + advance(end + len(marker)) + elif c == '"': + literal() + if i > 0 and text[i - 1] == '!': + error('interpolated string can contain executable terms; requires elaborated certification') + j = i + 1 + while j < n: + if text[j] == '\\': + j += 2 + elif text[j] == '"': + break + else: + j += 1 + if j >= n: + error('unterminated string literal'); advance(n) + else: + advance(j + 1) + elif c == '«': + end = text.find('»', i + 1) + if end < 0: + error('unterminated escaped identifier'); advance(n) + else: + tokens.append(Token(text[i + 1:end], line, column, True)); advance(end + 1) + elif c == "'": + match = canonical_character_literal.match(text, i) + if match is not None: + literal() + advance(match.end()) + else: + error('unsupported or unterminated character literal'); advance(i + 1) + elif c.isalpha() or c == '_' or c.isdigit(): + j = i + 1 + while j < n and (text[j].isalnum() or text[j] in "_'!?" or (text[j] == '.' and j + 1 < n and (text[j + 1].isalpha() or text[j + 1] == '_'))): + j += 1 + tokens.append(Token(text[i:j], line, column)); advance(j) + else: + pair = text[i:i + 2] + if pair in {':=', '=>', '->', '<=', '>=', '!=', '==', '<-'}: + tokens.append(Token(pair, line, column)); advance(i + 2) + else: + tokens.append(Token(c, line, column)); advance(i + 1) + return tokens, gaps + + +def _contradictions(header): + """Detect only declared source shapes; this does not interpret Lean propositions.""" + hypotheses = [] + stack = [] + for i, t in enumerate(header): + if t in {'(', '{', '['}: + stack.append((i, t)) + elif t in {')', '}', ']'} and stack: + start, opening = stack.pop() + interior = header[start + 1:i] + depth, colon = 0, None + for j, word in enumerate(interior): + if word in {'(', '{', '['}: depth += 1 + if word in {')', '}', ']'}: depth -= 1 + if word == ':' and depth == 0: + colon = j; break + if colon is not None: + hypotheses.append(tuple(interior[colon + 1:])) + for i, t in enumerate(header[:-1]): + if t == 'False' and header[i + 1] in {'→', '->'}: + hypotheses.append(('False',)) + candidates = [] + for h in hypotheses: + if h in {('False',), ('Not', 'True'), ('¬', 'True')}: + candidates.append('explicit false hypothesis: ' + ' '.join(h)) + if len(h) == 3 and h[0] == h[2] and h[1] in {'<', '≠', '!='}: + candidates.append('self-strict/disequality hypothesis: ' + ' '.join(h)) + if len(h) == 3 and re.fullmatch(r'[0-9]+',h[0]) and re.fullmatch(r'[0-9]+',h[2]) and h[1] == '=' and int(h[0]) != int(h[2]): + candidates.append('incompatible literal equality candidate: ' + ' '.join(h)) + positive = h[1:] if h and h[0] in {'¬', 'Not'} else None + if positive and positive in hypotheses: + candidates.append('opposing hypotheses: ' + ' '.join(positive)) + return sorted(set(candidates)), [' '.join(h) for h in hypotheses] + + +def check_lean(text): + tokens, findings = lean_tokens(text) + imports, declarations = [], [] + placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'} + native = {'native_decide', 'native', 'ofReduceBool', 'ofReduceNat', 'ofReduceInt', 'trustCompiler', 'skipKernelTC'} + kernel_bypass = {'addDeclWithoutChecking'} + expansion = {'macro', 'macro_rules', 'elab', 'elab_rules', 'syntax', 'unsafe', 'run_elab', 'initialize', 'builtin_initialize', 'implemented_by', 'extern'} + hazards = [] + lexical_errors = [] + for metadata in canonical_identifier_tokens(text, lexical_errors): + if not isinstance(metadata, tuple) or len(metadata) != 7: + findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape')) + continue + raw_name, line, column, first, plus_before, following, field_before = metadata + # The stricter hazard rules inspect every identifier; native is refused + # regardless of the canonical classifier's seventh field/context hint. + parts = raw_name.split('.') + quoted = parts[-1].startswith('\x00') + name = '.'.join(part.removeprefix('\x00').replace('\x01', '.') for part in parts) + hazards.append(Token(name, line, column - 1, quoted)) + for line, column, kind in dict.fromkeys(lexical_errors): + findings.append(finding('LEAN_LEXICAL_GAP', 'canonical lexer: ' + kind, line)) + for token in hazards: + word = token.text + tail = word.rsplit('.', 1)[-1] + if tail in placeholders and (not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}): + findings.append(finding('LEAN_PLACEHOLDER', word, token.line)) + if tail in {'axiom', 'constant', 'constants'}: + findings.append(finding('LEAN_AXIOM', 'owned/new axiom declaration or reference requires refusal: ' + word, token.line)) + if tail in native: + findings.append(finding('LEAN_NATIVE', 'compiler/native trust escape: ' + word, token.line)) + if tail in kernel_bypass: + findings.append(finding('LEAN_KERNEL_BYPASS', 'unchecked environment declaration insertion: ' + word, token.line)) + if tail in expansion: + findings.append(finding('LEAN_EXPANSION_GAP', 'requires G2/G4 expanded environment certificate: ' + word, token.line)) + if tail in {'Float','Float32'}: + findings.append(finding('LEAN_FLOAT_REVIEW_GAP', 'floating-point use requires a relevant exact mathematical/nonmathematical certificate', token.line)) + for i, token in enumerate(tokens): + word = token.text + if word == 'import': + j = i + 1 + while j < len(tokens): + t = tokens[j] + if t.line > token.line and t.column == 0: + break + if t.quoted or not re.fullmatch(r"[^\W\d][\w'!?]*(?:\.[^\W\d][\w'!?]*)*", t.text, re.UNICODE): + findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line)) + break + imports.append(t.text); j += 1 + if j == i + 1: + findings.append(finding('LEAN_IMPORT_GAP', 'missing or unsupported import syntax', token.line)) + if word in {'theorem', 'lemma', 'example'}: + if word == 'example': + name, j = 'example', i + 1 + else: + if i + 1 >= len(tokens): + findings.append(finding('LEAN_DECLARATION_GAP', 'missing declaration name', token.line)); continue + name, j = tokens[i + 1].text, i + 2 + header, depth = [], 0 + while j < len(tokens): + t = tokens[j].text + if depth == 0 and t in {':=', 'where'}: + break + if depth == 0 and t in {'theorem', 'lemma', 'example'}: + break + if t in {'(', '{', '['}: depth += 1 + if t in {')', '}', ']'}: depth -= 1 + header.append(t); j += 1 + if j == len(tokens) or depth != 0: + findings.append(finding('LEAN_DECLARATION_GAP', 'unsupported/incomplete theorem header', token.line)) + contradictions, hypotheses = _contradictions(header) + declarations.append({'key': name + '@' + str(token.line), 'line': token.line, + 'contradictions': contradictions, 'hypotheses': hypotheses}) + return {'findings': findings, 'imports': imports, 'declarations': declarations} + + +EXACT_BUILTINS = frozenset({'abs', 'all', 'any', 'bool', 'dict', 'enumerate', 'int', 'len', 'list', 'max', + 'min', 'range', 'reversed', 'set', 'sorted', 'sum', 'tuple', 'zip', 'frozenset'}) +ALLOWED_AST = frozenset({ + 'Module','ImportFrom','alias','FunctionDef','arguments','arg','Return','Assign','AnnAssign','AugAssign', + 'Expr','Constant','Name','Load','Store','Del','List','Tuple','Set','Dict','Subscript','Slice', + 'BinOp','UnaryOp','BoolOp','Compare','If','IfExp','For','Break','Continue','Pass','Assert', + 'ListComp','SetComp','DictComp','GeneratorExp','comprehension','Call','keyword','Attribute', + 'Add','Sub','Mult','FloorDiv','Mod','Pow','USub','UAdd','Not','Invert','And','Or', + 'Eq','NotEq','Lt','LtE','Gt','GtE','Is','IsNot','In','NotIn','BitAnd','BitOr','BitXor','LShift','RShift', + 'Div','Import', 'Lambda', 'ClassDef', 'AsyncFunctionDef', +}) + + +def check_python(text, mathematical=True): + findings, imports, import_candidates = [], [], [] + try: + tree = ast.parse(text) + except (SyntaxError, ValueError, RecursionError) as exc: + return {'findings': [finding('PY_SYNTAX', str(exc), getattr(exc, 'lineno', 0) or 0)], 'imports': []} + aliases = {'Fraction'} + local_functions = {n.name for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)} + dynamic_aliases = {'__import__', 'eval', 'exec', 'compile', 'globals', 'locals', '__builtins__', 'vars', 'getattr', 'setattr', 'delattr'} + for node in ast.walk(tree): + if isinstance(node, ast.Import): + for alias in node.names: + imports.append(alias.name) + if alias.name in {'importlib', 'builtins'}: + dynamic_aliases.add(alias.asname or alias.name) + elif isinstance(node, ast.ImportFrom): + name = '.' * node.level + (node.module or '') + imports.append(name) + import_candidates.extend(name + '.' + alias.name for alias in node.names if alias.name != '*') + if node.module == 'fractions' and node.level == 0: + for alias in node.names: + if alias.name == 'Fraction': + aliases.add(alias.asname or alias.name) + if node.module in {'importlib', 'builtins'}: + for alias in node.names: + dynamic_aliases.add(alias.asname or alias.name) + allowed_calls = EXACT_BUILTINS | aliases | local_functions + protected = EXACT_BUILTINS | aliases | local_functions | {'__builtins__'} + for node in ast.walk(tree): + line = getattr(node, 'lineno', 0) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in dynamic_aliases: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic executor/importer name requires dependency certifier: ' + node.id, line)) + if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}: + findings.append(finding('PY_DYNAMIC_IMPORT', 'reflective loader entrypoint requires dependency certifier: ' + node.attr, line)) + if isinstance(node, ast.ImportFrom) and (node.level or any(a.name == '*' for a in node.names)): + findings.append(finding('PY_IMPORT_GAP', 'relative/star import requires explicit dependency certifier', line)) + if isinstance(node, ast.Call): + name = node.func.id if isinstance(node.func, ast.Name) else None + dynamic = (name in dynamic_aliases or + isinstance(node.func, ast.Attribute) and + (node.func.attr in {'import_module','__import__','exec_module','load_module','find_spec','spec_from_file_location'} or + isinstance(node.func.value, ast.Name) and node.func.value.id in dynamic_aliases)) + if dynamic: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic execution/loading cannot establish closed dependency boundary', line)) + if not mathematical: + continue + name = type(node).__name__ + if name not in ALLOWED_AST or isinstance(node, (ast.Lambda, ast.ClassDef, ast.AsyncFunctionDef)): + findings.append(finding('PY_AST_GAP', 'unsupported exact-program AST node: ' + name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in {'float','complex','__builtins__'}: + findings.append(finding('PY_INEXACT', 'inexact/reflective value can escape through callbacks: ' + node.id, line)) + if isinstance(node, ast.alias) and node.asname in EXACT_BUILTINS: + findings.append(finding('PY_REBIND', 'import shadows exact builtin: ' + node.asname, line)) + if isinstance(node, ast.FunctionDef): + if node.decorator_list: + findings.append(finding('PY_AST_GAP', 'decorators can replace exact functions', line)) + if node.name in EXACT_BUILTINS | aliases | {'__builtins__'}: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.id, line)) + if isinstance(node, ast.arg) and node.arg in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic parameter: ' + node.arg, line)) + if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)): + findings.append(finding('PY_INEXACT', 'float/complex literal forbidden in mathematical program', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div): + findings.append(finding('PY_INEXACT', '/ may produce float; use Fraction(n,d)', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow): + if not (isinstance(node.right, ast.Constant) and type(node.right.value) is int and node.right.value >= 0): + findings.append(finding('PY_INEXACT', '** requires nonnegative integer literal exponent', line)) + if isinstance(node, ast.Import): + findings.append(finding('PY_IMPORT_GAP', 'only from fractions import Fraction [as alias] is in the exact profile', line)) + if isinstance(node, ast.ImportFrom): + if node.module != 'fractions' or node.level or any(a.name != 'Fraction' for a in node.names): + findings.append(finding('PY_IMPORT_GAP', 'import outside exact fractions profile', line)) + if isinstance(node, ast.Call): + if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls: + findings.append(finding('PY_CALL_GAP', 'call is not a statically named exact builtin/Fraction/local function', line)) + if any(k.arg is None for k in node.keywords) or any(isinstance(a, ast.Starred) for a in node.args): + findings.append(finding('PY_CALL_GAP', 'dynamic argument expansion is outside exact profile', line)) + if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}: + findings.append(finding('PY_ATTRIBUTE_GAP', 'only exact numerator/denominator reads are supported', line)) + if isinstance(node, ast.Attribute) and not isinstance(node.ctx, ast.Load): + findings.append(finding('PY_ATTRIBUTE_GAP', 'attribute mutation is outside exact profile', line)) + if isinstance(node, ast.comprehension) and node.is_async: + findings.append(finding('PY_AST_GAP', 'async comprehension is outside exact profile', line)) + return {'findings': findings, 'imports': sorted(set(imports)), 'import_candidates': sorted(set(import_candidates))} diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/tests/test_auditor.py new file mode 100644 index 000000000..b81791d29 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/tests/test_auditor.py @@ -0,0 +1,690 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_canonical_metadata_and_error_channels_fail_closed(self): + from unittest.mock import patch + with patch.object(source_checks, 'canonical_identifier_tokens', return_value=iter([('x', 1, 1, False, False, '')])): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + def failed_lexing(text, errors): + errors.append((1, 1, 'unsupported canonical lexical region')) + return iter(()) + with patch.object(source_checks, 'canonical_identifier_tokens', failed_lexing): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + + def test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens(self): + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) + self.assertEqual(self.lean_codes('def n := 0x0a\ndef f := 1.0e+1\n'), set()) + + def test_nested_string_placeholder_and_benign_literal_boundaries(self): + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) + self.assertEqual(self.lean_codes('def s := "brace { harmless } and \\"quoted\\""\n'), set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_defined_reflective_loader_forms_fail_in_engineering_scope(self): + cases=["getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')", + "vars()['__builtins__']['__import__']('Q.bad')", + "f.__globals__['__builtins__']['__import__']('Q.bad')", + "().__class__.__base__.__subclasses__()"] + for source in cases: + with self.subTest(source=source): + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) + + def test_import_module_primes_and_identifier_suffixes_are_extracted_completely(self): + result=source_checks.check_lean("import Good Q.Bad' Q.Other! Q.Last?\n") + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) + self.assertEqual(result['findings'],[]) + + def test_unsupported_import_tail_is_a_gap_after_a_valid_prefix(self): + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good Q.«Bad»\n')) + + def test_literal_import_operands_are_explicit_gaps_after_valid_prefix(self): + for operand in ['"Q.Bad"', 'r"Q.Bad"', "'q'"]: + with self.subTest(operand=operand): + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_numeral_adjoining_owned_axiom_cannot_receive_static_pass(self): + # Canonical698's already compiled counterexample; old numeric lexing hides axiom. + source = 'def harmless := 0axiom hiddenPremise : False\ntheorem bad : False := hiddenPremise\n#print axioms bad\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', + vacuity={'bad@2':{'status':'conditional','premises':[], + 'reason':'source statement only; not a witness claim'}}) + result = self.runaudit() + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass(self): + # Lean is a benign mapped import fixture; actual compilation evidence is reused. + self.add('Lean.lean', 'def imported := 1\n', 'project_lean', module='lean:Lean', vacuity={}) + source = 'import Lean\nopen Lean\n\ndef f : CoreM Unit := throwError "bad {let x := "safe"; (sorry : Nat)}"\n#print axioms f\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', vacuity={}) + result = self.runaudit() + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_bound_engineering_review_cannot_waive_defined_reflective_loader(self): + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-r','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py',"getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')",'engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'A nonmath review is not an import-isolation waiver'})) + e['nonmath_review']=self.bind('review.json') + r=self.runaudit() + self.assertEqual(r['result'],'FAIL',r) + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) + + def test_known_unsupported_source_suffix_cannot_claim_a_supported_language(self): + for path,language,text in [('bad.sh','lean','echo hello\n'),('bad.js','python','x=1\n')]: + with self.subTest(path=path): + self.add(path,text,'external_pinned',language=language,module=language+':Bad'+language, + **({'vacuity':{}} if language=='lean' else {}),pin={'revision':'a'*40,'origin':'fixture'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_retained_text_source_requires_language_then_a_registered_module(self): + e=self.add('Q.txt','theorem t : False := by sorry\n','quarantined_source',expected_findings={}, + quarantine={'id':'Q-t','boundary':'Q.txt','blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + e['language']='lean';e['expected_findings']={'LEAN_PLACEHOLDER':1} + self.assertIn('MODULE_ALIAS',self.codes()) + e['module']='lean:Q';self.m['module_map']['lean:Q']='r:Q.txt' + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_mapped_external_text_module_cannot_skip_supported_source_analysis(self): + self.add('fake.txt','Fraction=float','external_pinned',module='python:fractions', + pin={'revision':'a'*40,'origin':'fixture'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_primed_lean_module_after_valid_import_cannot_hide_quarantine(self): + self.add('Good.lean','def x := 1\n','project_lean',module='lean:Good',vacuity={}) + self.add("Q/Bad'.lean",'theorem t : False := by sorry\n','quarantined_source',language='lean',module="lean:Q.Bad'", + expected_findings={'LEAN_PLACEHOLDER':1},quarantine={'id':'Q-p','boundary':"Q/Bad'.lean",'blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.add('Closed.lean',"import Good Q.Bad'\n",'project_lean',module='lean:Closed',vacuity={}) + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_status_observation_binding_distinguishes_json_booleans_and_integers(self): + self.add('input.txt','input') + observed={'schema_version':True,'gate':'G5','observed_status':'PASS','run_id':'run-typed', + 'command':['fixture'],'exit_code':False,'inputs':{'r:input.txt':sha(b'input')}} + self.add('observation.json',json.dumps(observed),'data') + status={**observed,'schema_version':1,'exit_code':0,'evidence':self.bind('observation.json')} + self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/tests/test_mutation_runner.py new file mode 100644 index 000000000..ad04c013f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-initial/source/tests/test_mutation_runner.py @@ -0,0 +1,44 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-red.log b/cbz/contributions/math514/layer_a/evidence/lexer698-red.log new file mode 100644 index 000000000..445c4140c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-red.log @@ -0,0 +1,23 @@ +test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) ... FAIL +test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) ... FAIL + +====================================================================== +FAIL: test_numeral_adjoining_owned_axiom_cannot_receive_static_pass (test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 283, in test_numeral_adjoining_owned_axiom_cannot_receive_static_pass + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_AXIOM' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '0699b1165c9dc568dabf8d1055894e69c6d76333021ee1d63e87447177f2485a', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Hazard.lean', 'declaration': 'bad@2', 'status': 'conditional', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075', 'actual_sha256': 'f9f3bbbffd6c7e03732f8305473e3ed657089b2a23ad84ddf3511c0687a35075'}]} + +====================================================================== +FAIL: test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass (test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 292, in test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5095d62733a2900f3b3d75a7d015eb66dc4ff90bf8bbe15c0056d78e40e0379f', 'inventory_sha256': {'r': 'f82cfa092e209b8313c310701bb5c357f6c322fda4592286bc889b89fe1a9383'}, 'classified_count': 2, 'scanned_count': 2, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555', 'actual_sha256': '8ac3a070483d0a0b1679db84ea243e2c3465fe700d227c5405c4ab6f23fb2555'}, {'root': 'r', 'path': 'Lean.lean', 'kind': 'project_lean', 'expected_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703', 'actual_sha256': '77721549f1c9b1dbdda76f63f7e48bf54682bf8d6bed435f536f5a31807d7703'}]} + +---------------------------------------------------------------------- +Ran 2 tests in 0.002s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lexer698-working-summary.json b/cbz/contributions/math514/layer_a/evidence/lexer698-working-summary.json new file mode 100644 index 000000000..82fc84931 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lexer698-working-summary.json @@ -0,0 +1,1897 @@ +{ + "adapted_redundancy_results": { + "modes": { + "normal": [ + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "log_sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "log_sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ], + "optimized": [ + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "log_sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "log_sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + }, + "scope": "only two adapted redundant legacy definitions; baseline and17otheraffectedresults reused fromlexer698-initial" + }, + "affected_results": { + "claim": "affected Lean integration checks and actual source mutants; no fresh full-suite, Lean compiler, actual repository G1 or CBZ claim", + "ended_utc": "2026-10-29T19:42:52.095194+00:00", + "full_test_sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "modes": { + "normal": { + "baseline": { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/baseline-identity.log", + "log_sha256": "1c38bee11cbf7458401fd5c05c59a866f16ab06c4a2cb45196a79145aec9bee5", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "baseline-identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + "current_mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "log_sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "log_sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "observed_assertion_body_methods": [ + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "log_sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "log_sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "log_sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_canonical_metadata_and_error_channels_fail_closed", + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_each_file_is_really_scanned_not_only_first", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "log_sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "log_sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_each_file_is_really_scanned_not_only_first", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "log_sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "log_sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "log_sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "log_sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "log_sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "observed_assertion_body_methods": [ + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "log_sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "log_sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "log_sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "log_sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "observed_assertion_body_methods": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_lean_explicit_imports_are_extracted_across_lines", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_unknown_module_alias_and_dynamic_import_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "log_sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "observed_assertion_body_methods": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "log_sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "log_sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ], + "killed": 17, + "mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "log_sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "log_sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "observed_assertion_body_methods": [ + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "log_sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "log_sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "log_sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_canonical_metadata_and_error_channels_fail_closed", + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_each_file_is_really_scanned_not_only_first", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "log_sha256": "08e737fdd7036e291d8fc1042f3cd0420b58f274aaac20e0e4f4e13621038033", + "mutated_sha256": "307cbc4f2317be14a8d61e1c2c828fb284120b5149c32103160851912a450895", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "log_sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_each_file_is_really_scanned_not_only_first", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "log_sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "log_sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "log_sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "log_sha256": "60d6e1c2132f6ef891f5011b887211f695fcd371b1251606d8a892256ce3303f", + "mutated_sha256": "3ca529eb72b335305c738b6788f63389a2a4a5b5f6accf6c31be9ab93f1716aa", + "name": "skip-malformed-character-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "log_sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "observed_assertion_body_methods": [ + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "log_sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "log_sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "log_sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "log_sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "observed_assertion_body_methods": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_lean_explicit_imports_are_extracted_across_lines", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_unknown_module_alias_and_dynamic_import_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "log_sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "observed_assertion_body_methods": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "log_sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "log_sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + }, + "optimized": { + "baseline": { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log", + "log_sha256": "97e645f35e21c52af3988bdc7415c7df498ea9f4f7e5a1d0a781241fd84f0d8d", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "baseline-identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + "current_mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "log_sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "log_sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "observed_assertion_body_methods": [ + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "log_sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "log_sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "log_sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_canonical_metadata_and_error_channels_fail_closed", + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_each_file_is_really_scanned_not_only_first", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "log_sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da", + "mutated_sha256": "28772c5505d43962428055d720708d12e7c9412849175547e78cd4f8431f29dc", + "name": "canonical-unicode-boundary-weakened", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "log_sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_each_file_is_really_scanned_not_only_first", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "log_sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "log_sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "log_sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "log_sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c", + "mutated_sha256": "efc8e2c3db9c30c7c870ce39da193f178dd27f4a4941f789afdd562e879fe470", + "name": "skip-malformed-character-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "log_sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "observed_assertion_body_methods": [ + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "log_sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "log_sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "log_sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "log_sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "observed_assertion_body_methods": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_lean_explicit_imports_are_extracted_across_lines", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_unknown_module_alias_and_dynamic_import_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "log_sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "observed_assertion_body_methods": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "log_sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "log_sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ], + "killed": 17, + "mutants": [ + { + "assertion_failures": 6, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "log_sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1", + "mutated_sha256": "82e2994905787e3e788dbfe91560909b193c8464fdfd456a9648cf85d2c1a047", + "name": "restore-generic-numeral-swallowing", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "log_sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac", + "mutated_sha256": "cb213eaee2d701911bb0c708b05ff18602379fb44ba5db011b4e78d1b6ad8c60", + "name": "discard-nested-string-code-holes", + "observed_assertion_body_methods": [ + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "log_sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7", + "mutated_sha256": "75fc6d34b09c4c2194601295e82618c7f0597741b9ade56a5dfc461e44863e15", + "name": "discard-canonical-lexical-errors", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "log_sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f", + "mutated_sha256": "28dd2e4a2b43542600d634c4e0c4dae72566a33bd494dcc4a081cb779300e08c", + "name": "ignore-canonical-metadata-shape", + "observed_assertion_body_methods": [ + "test_canonical_metadata_and_error_channels_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 81, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "log_sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5", + "mutated_sha256": "1a0396a19977b2333e435fe1c44ded05e5cdf03582bb8adcd2c8ec02674eb4e9", + "name": "empty-lean-findings", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_canonical_metadata_and_error_channels_fail_closed", + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_each_file_is_really_scanned_not_only_first", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_unterminated_character_literals_are_never_silent" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "log_sha256": "81b0341312b3a14a5c4c31ea3161bb15184363bb65d81a7a491e9dd8d9e1f5c7", + "mutated_sha256": "307cbc4f2317be14a8d61e1c2c828fb284120b5149c32103160851912a450895", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "log_sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "disable-placeholder-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_each_file_is_really_scanned_not_only_first", + "test_file_hash_failure_does_not_prevent_violation_detection", + "test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "test_nested_string_placeholder_and_benign_literal_boundaries", + "test_quarantine_requires_exact_boundary_and_scans_retained_source", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_retained_text_source_requires_language_then_a_registered_module", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 12, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "log_sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9", + "mutated_sha256": "d1fbe903bd3441fbb5e8f82d3e570e67bd47a8c23f9a2be8418bfe4c606aa00b", + "name": "disable-axiom-category", + "observed_assertion_body_methods": [ + "test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "test_external_source_needs_immutable_pin_and_is_still_scanned", + "test_foundation_names_cannot_authorize_new_owned_axioms", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_numeral_adjoining_owned_axiom_cannot_receive_static_pass" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "log_sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3", + "mutated_sha256": "aefba58fc0dd39ac0802bdfc1dd7543b8a911bbc1b93cd9cd31be8e499b21b55", + "name": "disable-native-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "log_sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169", + "mutated_sha256": "6cdfddcd254a1b6a15ed6676e3722f2101094883b4c5e64eedc259d494f7c02b", + "name": "disable-unchecked-declaration-refusal", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 0, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "log_sha256": "7ac1abde253575f9618b2b354a00485473d56514374dc7272470608b0333eda2", + "mutated_sha256": "3ca529eb72b335305c738b6788f63389a2a4a5b5f6accf6c31be9ab93f1716aa", + "name": "skip-malformed-character-refusal", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "log_sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72", + "mutated_sha256": "102f87361be3c4abe16a16ec6b1c10a9c0e87fe8a5f710bca0830750434f8b5f", + "name": "miss-escaped-placeholder-helpers", + "observed_assertion_body_methods": [ + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "log_sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a", + "mutated_sha256": "a90a3d027909d2b4d28c2b67b2454503d0f86d8b215eaf255fc7560bf140cdcc", + "name": "drop-escaped-constant-normalization", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts", + "test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "log_sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0", + "mutated_sha256": "819f56954c408cc508c1d2cd43b4553fdba22e44ba74827e359d2b57bd5f571e", + "name": "miss-multiline-commented-native-config", + "observed_assertion_body_methods": [ + "test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "test_reported_kernel_escape_names_and_native_config_layouts" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "log_sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7", + "mutated_sha256": "fe9cb7ddf1f750edbbca24fc1df40cee30f602f68e2056769d3a56939cd5352c", + "name": "disable-macro-gap-category", + "observed_assertion_body_methods": [ + "test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "test_macro_expansion_and_unsafe_trust_require_separate_certifier" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "log_sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8", + "mutated_sha256": "6b8d9b3a8e478485c8f61ba869430027a19a04a5e182d7fc398a153c2e03b9b6", + "name": "drop-lean-dependencies", + "observed_assertion_body_methods": [ + "test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_lean_explicit_imports_are_extracted_across_lines", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_unknown_module_alias_and_dynamic_import_fail_closed" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "log_sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14", + "mutated_sha256": "e9ab09bb04a45eb21dcdcf569cc73abe50e1f71064da2947e06a7bb2d8983d8f", + "name": "truncate-primed-lean-imports", + "observed_assertion_body_methods": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "log_sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee", + "mutated_sha256": "79c8479493e8cb9fa7c3b57cb2cbd5da88399d80ed10a3127645268024151bd5", + "name": "silence-unsupported-lean-import-tail", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "log_sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237", + "mutated_sha256": "b74b4323f4cef7d124dc320c918d3144736fa266c4538c9c24bfeb12086d118e", + "name": "drop-literal-import-operands", + "observed_assertion_body_methods": [ + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ], + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 45 + } + ] + } + }, + "observed_status": "FAIL", + "selected_methods": [ + { + "end_line": 44, + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "line": 36, + "source_sha256": "59f07ced5acb7267f976ba99b909ac4e415c31495da98e3a8ac213a9b57f391e" + }, + { + "end_line": 54, + "id": "test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code", + "line": 46, + "source_sha256": "a42d6053aac8caa908820dd486314303e98d619e71cea84f60f9fec0293cd0a9" + }, + { + "end_line": 59, + "id": "test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape", + "line": 56, + "source_sha256": "9d69ccb20230112eca287ca89e2c79ab77bf0d29b1a4d5b5a016126aadef520e" + }, + { + "end_line": 65, + "id": "test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent", + "line": 61, + "source_sha256": "960fedac091b0b157e59cae3c6992c673f5e363c27a74ace537b560915a630ef" + }, + { + "end_line": 71, + "id": "test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier", + "line": 67, + "source_sha256": "45ef92258591e56b51437ff44cc5f908f326bd9d9cb904b91da430657be327f0" + }, + { + "end_line": 81, + "id": "test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries", + "line": 73, + "source_sha256": "d4d64d5b7f1bda671d53f6160c2bfd9df412e4ce8f7b4724c2e567239fa784dd" + }, + { + "end_line": 102, + "id": "test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts", + "line": 83, + "source_sha256": "71a61f54d4515a946bc8470db6dc7d71856429b8b5989d2bc60792cdf42faece" + }, + { + "end_line": 107, + "id": "test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent", + "line": 104, + "source_sha256": "8c944a0ba925ac7b0645b27e2cd36496ee557a705226f3ad31072de99996aa40" + }, + { + "end_line": 111, + "id": "test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code", + "line": 109, + "source_sha256": "06d59dea43f2220bb0fbdd26a9b714c15a119411c884c2bb7f3485bacf5c4b80" + }, + { + "end_line": 115, + "id": "test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines", + "line": 113, + "source_sha256": "de6e991fa0bd961576bd95604abd7934ac053362c871609323f789b46eeefa1f" + }, + { + "end_line": 123, + "id": "test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location", + "line": 117, + "source_sha256": "21e1cc00c0071d72ee187c35805f8c6099cb157ba98122f48b6e300deb0c0b5a" + }, + { + "end_line": 126, + "id": "test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration", + "line": 125, + "source_sha256": "6522133375e7a34bace3439dfbd3ddb25800029d9a6dce38c4a002dcd1d2fd0f" + }, + { + "end_line": 136, + "id": "test_auditor.SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "line": 128, + "source_sha256": "ad60e324ec3d3da948fdefb78e8aa0b236174b4dd23ff2aedf10d094f4668fe0" + }, + { + "end_line": 142, + "id": "test_auditor.SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "line": 138, + "source_sha256": "97d33dbdc008aa3ac6c804c09ea90dac6e14c0d3b372cbc24e757079d52ac1f8" + }, + { + "end_line": 146, + "id": "test_auditor.SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries", + "line": 144, + "source_sha256": "47691fdbe6422494652cb3447e6ae60f667cba9fb1c65bac8a5c3a824898e3f3" + }, + { + "end_line": 150, + "id": "test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses", + "line": 148, + "source_sha256": "51ff3f9c3e8d420646a38badf6c8e1c797aa3a8ce56915a6e56ae9a2cec680f0" + }, + { + "end_line": 202, + "id": "test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape", + "line": 200, + "source_sha256": "44bc1aefed1f25cb0796140ddd551a12a56c9eee60d09b039e2fbb640ca60899" + }, + { + "end_line": 216, + "id": "test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "line": 213, + "source_sha256": "01ebf3dfed17b71659ebd35952cf9536cb64ee7c23c43f644bb1e77375831f08" + }, + { + "end_line": 220, + "id": "test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "line": 218, + "source_sha256": "d59d84598cb18b965c9c21179abe04472334df26ae1643db3ef5f51c028dad7d" + }, + { + "end_line": 225, + "id": "test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix", + "line": 222, + "source_sha256": "820f46bfe34e027b6096d9cb46f8ba21f4df27c5520ff46188ea4843bad8bfd3" + }, + { + "end_line": 294, + "id": "test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface", + "line": 275, + "source_sha256": "b94bcc9ed9447f0963b00d9723e5bd1922c46dbd2031426ad37ba10e7e79ee8c" + }, + { + "end_line": 304, + "id": "test_auditor.ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "line": 296, + "source_sha256": "6439fbfbebed82ed14ea6ba729e7942c93826420438f0e1e6d7d706083456407" + }, + { + "end_line": 313, + "id": "test_auditor.ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "line": 306, + "source_sha256": "58dc5d2c6ec65f75a445f4ee7d737527af58eb6a1c9e448557fc414aac3a6d4a" + }, + { + "end_line": 331, + "id": "test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language", + "line": 326, + "source_sha256": "6b618f333c6864be0b900061214881e555bb4273b60ff684d570d01d75e1d674" + }, + { + "end_line": 340, + "id": "test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module", + "line": 333, + "source_sha256": "417fe36012f1bd1eccddf9ab56bc2af6f802629585b4fe11bc67c2068ced3a7b" + }, + { + "end_line": 353, + "id": "test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "line": 348, + "source_sha256": "b4056f8e0a5f2c53dbdb23d52e465adeb08e4f020c829458e38682bfcb2171cc" + }, + { + "end_line": 373, + "id": "test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic", + "line": 364, + "source_sha256": "80d391fcd444d64d521aeb06d5ddddf7c26c762a22d5d763b1fb65a3dabfade0" + }, + { + "end_line": 378, + "id": "test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first", + "line": 375, + "source_sha256": "c9f3c2bb6afa2cf28a0df64af99a1c13040551efe87e0a5ff174e5bf2ce81fca" + }, + { + "end_line": 411, + "id": "test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped", + "line": 402, + "source_sha256": "b6ac78b3bc309dbac1373f20aee68f6481d6f268071706b05a8a918d5965d420" + }, + { + "end_line": 434, + "id": "test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened", + "line": 429, + "source_sha256": "e5460bd71f28408d6b4d9d339fd09307d00fe388421e7f8ae77acba7dc0a3925" + }, + { + "end_line": 441, + "id": "test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms", + "line": 436, + "source_sha256": "e56e4d95d5d55021582323164c3f557ee870951bebdb53327be9aa110ecbb3a1" + }, + { + "end_line": 460, + "id": "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "line": 456, + "source_sha256": "c497d18af8a0ca9fef651b15bb74addb9c31fd7af847ad7e26f41616a527a301" + }, + { + "end_line": 483, + "id": "test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean", + "line": 475, + "source_sha256": "727ebce9713d713ede0ab7a0aebb52c04c37bf5c80d0d9fdf7b7086b35f671df" + }, + { + "end_line": 492, + "id": "test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source", + "line": 485, + "source_sha256": "8921e394ddf607e5983a6955712d0ea3186f73da19d219c0b23e08ea5f69329b" + }, + { + "end_line": 500, + "id": "test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively", + "line": 494, + "source_sha256": "b0f84fd23fef4fdf5ade82c0dd052100985a6fd91c969515be54e3051e3f62b1" + }, + { + "end_line": 509, + "id": "test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed", + "line": 502, + "source_sha256": "bdc934a74642b3e6fd9198a0107ffbd504e29903c42a16f9db30014067355678" + }, + { + "end_line": 537, + "id": "test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned", + "line": 533, + "source_sha256": "24d41c7bc2aacec3b79ee24e735dbf3a2579a95d318d7a115f0f3ec629a4384a" + }, + { + "end_line": 560, + "id": "test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected", + "line": 552, + "source_sha256": "bf51f1ad657eb4539203b2cd57231a346024156d6f29cf479c6987fc7d6d1114" + }, + { + "end_line": 565, + "id": "test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate", + "line": 562, + "source_sha256": "4cb778b9d8681c30e23e06c9afcf2ad02ab887fe34a54ee3b2035dfdfcd0edec" + }, + { + "end_line": 601, + "id": "test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code", + "line": 594, + "source_sha256": "1866ccafd0fad523c3eea395fe1724c8913ee5bd7df7ce257d548de36011e898" + }, + { + "end_line": 606, + "id": "test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source", + "line": 603, + "source_sha256": "0057cf575cd96a68600d3fb3cfd52a4d5d02c3b26b851e31febf4efe3cb06575" + }, + { + "end_line": 623, + "id": "test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection", + "line": 620, + "source_sha256": "1d8bf63f73eb45ecca7e6e0f4052187f34abff63be3e03d828ebed8ccb93a221" + }, + { + "end_line": 633, + "id": "test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases", + "line": 625, + "source_sha256": "d762f20c7628b5426d42f849b1652c0ae6a9764785ac674dbc5950e483961451" + }, + { + "end_line": 642, + "id": "test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings", + "line": 635, + "source_sha256": "d4de6f3fef98bf3306a485fc5ed8ad8da124410fdc135279d1755e65ea629f7e" + }, + { + "end_line": 655, + "id": "test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash", + "line": 652, + "source_sha256": "80bc5fa8ea164693df9fd67a25701452d3449440d2fea36cdbbbd224c8a945a9" + } + ], + "selected_mutants": [ + "restore-generic-numeral-swallowing", + "discard-nested-string-code-holes", + "discard-canonical-lexical-errors", + "ignore-canonical-metadata-shape", + "empty-lean-findings", + "canonical-unicode-boundary-weakened", + "disable-placeholder-category", + "disable-axiom-category", + "disable-native-category", + "disable-unchecked-declaration-refusal", + "skip-malformed-character-refusal", + "miss-escaped-placeholder-helpers", + "drop-escaped-constant-normalization", + "miss-multiline-commented-native-config", + "disable-macro-gap-category", + "drop-lean-dependencies", + "truncate-primed-lean-imports", + "silence-unsupported-lean-import-tail", + "drop-literal-import-operands" + ], + "selected_source_sha256": "bc636f64401f4292815a5e654ab8c6244b93686c3cde20571a53d3d83edee0cb", + "source_sha256": { + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "08b284df834f2c5c2960202046036b81826dc3900dc8c2a226ffe42b3a967212", + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T19:42:41.138824+00:00" + }, + "fresh_mutants_per_mode": 19, + "fresh_tests_per_mode": 45, + "new_test_methods": [ + "ManifestRules.test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass", + "ManifestRules.test_numeral_adjoining_owned_axiom_cannot_receive_static_pass", + "SourceRules.test_canonical_metadata_and_error_channels_fail_closed", + "SourceRules.test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens", + "SourceRules.test_nested_string_placeholder_and_benign_literal_boundaries" + ], + "original_tests_unchanged": true, + "reused_mutants": 38, + "reused_test_methods": [ + "ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected", + "ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence", + "ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader", + "ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable", + "ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys", + "ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code", + "ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected", + "ManifestRules.test_empty_scope_cannot_manufacture_green", + "ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode", + "ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing", + "ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis", + "ManifestRules.test_python_import_alias_cannot_hide_quarantine", + "ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers", + "ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed", + "ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read", + "SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions", + "SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope", + "SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "SourceRules.test_every_inexact_python_route_is_rejected", + "SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps", + "SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped" + ], + "reused_tests": 30, + "scope": "lexer integration only; generic lifecycle augmentation pending" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-existing-harness-normal.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-existing-harness-normal.log new file mode 100644 index 000000000..fc6adf3d1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-existing-harness-normal.log @@ -0,0 +1,8 @@ +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 3 tests in 1.330s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-existing-harness-optimized.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-existing-harness-optimized.log new file mode 100644 index 000000000..7ff6eab84 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-existing-harness-optimized.log @@ -0,0 +1,8 @@ +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 3 tests in 4.003s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md new file mode 100644 index 000000000..2be747b18 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md @@ -0,0 +1,25 @@ +The isolated layer-a patch closes the setup/teardown/cleanup false-kill channel without changing checker source, the 57 mutation definitions, or `tests/test_auditor.py`. Only `mutation_test.py` and `tests/test_mutation_runner.py` change. This is a targeted harness repair and evidence supplement; it is not a fresh full G0 run or a CBZ declaration. + +The preserved RED receipt `../evidence/layer_a/red-setup-false-kill.json` shows an unchanged source file classified KILLED solely because `setUp` called `self.fail`. Its original and mutated SHA256 are equal. Additional RED traces cover a source-dependent substituted population, setup invoking the selected body directly or through dispatch, and duplicate forged direct-body assertion counts. + +The runner now records the pristine selected canonical method population before writing a source mutant, with a loader/import-only subprocess that invokes no fixtures or bodies. Execution must match that external population exactly: each selected method starts, finishes, enters its actual body through normal body dispatch, and exits exactly once. Lifecycle depth prevents a call from setup to the selected method from becoming body evidence. A dispatch-hook assertion without selected-method entry cannot kill. + +A KILLED result requires real selected-body AssertionError evidence and full selected population execution. Direct assertion callbacks must carry the exact exception escaping the selected body. Required `assertion_events` distinguish direct and body-subtest assertions, admit at most one direct failure per parent method, and match both the total assertion count and subtest assertion events exactly. Body-scoped successful and assertion-failing subtests are supported with parent/phase/outcome events; lifecycle subtests and subtest runtime errors fail closed. Errors, skips, expected failures, unexpected successes, noncanonical/synthetic/duplicate identities, incomplete populations, missing event metadata, boolean counts, and inconsistent summaries are ERROR. `parse_test_result` remains a diagnostic compatibility helper; outcome grading no longer trusts text summaries. + +The JSON schema is not cryptographic authentication. `run_one` obtains its execution JSON from the bounded runner subprocess and independently binds its population to the pristine loader result. Complete fabricated JSON from an attacker-controlled process remains outside that custody assumption; missing or inconsistent receipt fields fail closed. Historical summaries cannot be fed into the new classifier as though they contained the new events. + +Verification is deliberately scoped to changed obligations: + +- Eight added `LifecycleHarnessRules` methods pass in normal mode. The final change strengthening the complete duplicate-population forged receipt has a further focused normal-mode pass in `final-forged-receipts-normal.log`. +- All eight final lifecycle methods pass under `PYTHONOPTIMIZE=1 python -B -S -O`; fixture subprocesses inherit optimization. This checks the changed runner in the additional runtime mode without replaying the old behavioral suite. +- Final minimal actual source controls run one unchanged SourceRules method: identity SURVIVED, placeholder-category weakening KILLED by three body-subtest assertions, and an actual `raise ImportError` source mutant ERROR because SourceRules setup failed before body entry. Receipts include the pristine population and assertion events. +- Ten actual harness-source safeguard mutant controls were assertion-killed at the earlier receipt revision. Three subsequent targeted controls cover external population binding, lifecycle invocation authorization, and a complete duplicate population. Two final accounting controls cover duplicate direct assertion events and the final complete duplicate population. These are version-bound receipts, with repeated duplicate controls explicitly warranted by changed receipt accounting; they are not fifteen distinct production mutants or a fresh all-mutants result. +- One first-attempt boolean mutant removed the missing-field guard as well as the type restriction and produced ERROR with two assertion failures and two KeyErrors. It was not counted as killed. That receipt/log remain preserved. The revised, narrowly boolean-permissive mutant was cleanly assertion-killed. Nine already completed unaffected controls were reused instead of replayed. + +Earlier safeguard receipts bind their earlier runner hashes; their full source/test snapshot is preserved in `../evidence/layer_a/pre-external-population`. Later population/lifecycle controls bind the following runner revision. The final accounting controls and final actual-source controls bind the sealed implementation. Unchanged safeguard branches retain their completed evidence; new obligations received new targeted checks. + +The three old `MutationHarnessRules` methods are retained unchanged. The eight lifecycle methods are additions, so a pre-lifecycle population of 75 becomes 83. No old full auditor suite, original 53 mutant set, Lean compilation, or mathematical check was replayed here. The original 53 historical assertion kills retain their actual test-body traceback evidence and original source custody. This patch changes their grader, not the checker/test semantics that produced those traces. They remain source-specific historical evidence rather than new-schema receipts or a claim that all 57 current mutants were freshly run. Applicability of the concurrent lexer delta remains with its own source/evidence mapping. + +Usage of the public `mutation_test.py --output ...` command is unchanged. `run_one` adds an optional `tests=[canonical selector, ...]` argument for narrow controls. The private runner mode accepts `--internal-test-runner --output ... --test-root ... [--test ...] [--list]`; list mode discovers IDs without executing bodies or fixtures. + +Integration needs the two existing registered file hashes updated; no new production helper file or registry entry is needed. Keep the frozen 57-entry MUTATIONS table and unchanged behavioral test file. README/SPEC should say: “A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts.” Provider-distinct review and overall integration remain separate process requirements; this report does not claim them complete. diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/SOURCE_SHA256.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/SOURCE_SHA256.json new file mode 100644 index 000000000..5a7cb272f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/SOURCE_SHA256.json @@ -0,0 +1,7 @@ +{ + "layer_a/REPORT.md": "266b969941e35a1703ab0cf4c095f1a222eb5b9b1f3cafeb1142bbda4547b682", + "layer_a/evidence-index.json": "791859398241ca57c9baf6273c39b18d8843764e37212b38b9d2c12652af8ecf", + "layer_a/layer-a-lifecycle.patch": "06630bbd89d7be67c508284971d3e1a3a3be602efd7d9e504062b52b09421b4c", + "layer_a/mutation_test.py": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "layer_a/tests/test_mutation_runner.py": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log new file mode 100644 index 000000000..5d010e543 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log @@ -0,0 +1,33 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-19l3ysqv/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-19l3ysqv/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-19l3ysqv/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/identity.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/identity.log new file mode 100644 index 000000000..4bb0eb988 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/identity.log @@ -0,0 +1,6 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log new file mode 100644 index 000000000..deac2f8ea --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log @@ -0,0 +1,15 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... FAIL + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 206, in lifecycle + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: unexpectedly None : source checker implementation is missing + +---------------------------------------------------------------------- +Ran 1 test in 0.000s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/receipts.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/receipts.json new file mode 100644 index 000000000..4f849b78d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/receipts.json @@ -0,0 +1,258 @@ +[ + { + "assertion_failures": 0, + "errors": 0, + "expected": "SURVIVED", + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/actual-source-controls/identity.log", + "log_sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "returncode": 0, + "tests": { + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 11, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + }, + { + "assertion_failures": 3, + "errors": 0, + "expected": "KILLED", + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/actual-source-controls/body-placeholder-weakening.log", + "log_sha256": "97329f849c40ec14ba28671433676756d4f17a2357a6ce5fc94d9621bb3fe2e5", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "body-placeholder-weakening", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "returncode": 1, + "tests": { + "assertion_failures": 3, + "body_assertion_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... \n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL\n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL\n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-19l3ysqv/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-19l3ysqv/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-19l3ysqv/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 11, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + }, + { + "assertion_failures": 1, + "errors": 0, + "expected": "ERROR", + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/actual-source-controls/importerror-setup.log", + "log_sha256": "f2f9b477dc19bb0cbb40c5d0b074148fc3d9198ff042c5c9efd3f08740e26e73", + "mutated_sha256": "210a329ef2fd78d6ba2e01d9a35c685210d67969cb94ae95247763087358d70f", + "name": "importerror-setup", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "ERROR", + "returncode": 1, + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "kind": "assertion", + "phase": "setup" + } + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 1, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... FAIL\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 206, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: unexpectedly None : source checker implementation is missing\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +] diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log new file mode 100644 index 000000000..b042d5cc0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log @@ -0,0 +1,62 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='subtests') ... ERROR + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='lifecycle_failures') ... ERROR + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='tests_run') ... FAIL + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='assertion_failures') ... FAIL + +====================================================================== +ERROR: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='subtests') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-uclpnxc1/tests/test_mutation_runner.py", line 127, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/cbz-layer-lifecycle-control-uclpnxc1/mutation_test.py", line 108, in classify_test_result + if any(value[k] < 0 for k in counts): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/cbz-layer-lifecycle-control-uclpnxc1/mutation_test.py", line 108, in + if any(value[k] < 0 for k in counts): + ~~~~~^^^ +KeyError: 'subtests' + +====================================================================== +ERROR: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='lifecycle_failures') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-uclpnxc1/tests/test_mutation_runner.py", line 127, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/cbz-layer-lifecycle-control-uclpnxc1/mutation_test.py", line 108, in classify_test_result + if any(value[k] < 0 for k in counts): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/cbz-layer-lifecycle-control-uclpnxc1/mutation_test.py", line 108, in + if any(value[k] < 0 for k in counts): + ~~~~~^^^ +KeyError: 'lifecycle_failures' + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='tests_run') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-uclpnxc1/tests/test_mutation_runner.py", line 131, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='assertion_failures') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-uclpnxc1/tests/test_mutation_runner.py", line 131, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.143s + +FAILED (failures=2, errors=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts.log new file mode 100644 index 000000000..9af09b22d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts.log @@ -0,0 +1,30 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='tests_run') ... FAIL + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='assertion_failures') ... FAIL + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='tests_run') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-dycrewh3/tests/test_mutation_runner.py", line 131, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='assertion_failures') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-dycrewh3/tests/test_mutation_runner.py", line 131, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.150s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log new file mode 100644 index 000000000..10b07e3e3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log @@ -0,0 +1,18 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... FAIL + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 232, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.151s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log new file mode 100644 index 000000000..256dad2f6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log @@ -0,0 +1,18 @@ +test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... FAIL + +====================================================================== +FAIL: test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.148s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log new file mode 100644 index 000000000..fe7a7d72e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log @@ -0,0 +1,18 @@ +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... + test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n') ... FAIL + +====================================================================== +FAIL: test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-sg2efvms/tests/test_mutation_runner.py", line 117, in test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\ntest_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-sg2efvms/mutation_test.py", line 194, in body\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/tmp/cbz-layer-a-mutant-c7ew7a2p/tests/test_auditor.py", line 3, in test_one\n def test_one(self): self.fail("body")\n ^^^^^^^^^^^^^^^^^\nAssertionError: body\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-sg2efvms/mutation_test.py", line 194, in body\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/tmp/cbz-layer-a-mutant-c7ew7a2p/tests/test_auditor.py", line 3, in test_one\n def test_one(self): self.fail("body")\n ^^^^^^^^^^^^^^^^^\nAssertionError: body\n\n----------------------------------------------------------------------\nRan 2 tests in 0.000s\n\nFAILED (failures=2)\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpginuj8ch/logs/fixture.log', 'log_sha256': '801e0bf9a8f1f53fc5b6dc86884b1c0564c1a61407eefc00d119fbe4e32ca5c5'} + +---------------------------------------------------------------------- +Ran 1 test in 0.414s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log new file mode 100644 index 000000000..101acd7c8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log @@ -0,0 +1,18 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... FAIL + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 244, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.176s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log new file mode 100644 index 000000000..da4688e1c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log @@ -0,0 +1,30 @@ +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n') ... FAIL + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n') ... FAIL + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-uv5zt_vi/tests/test_mutation_runner.py", line 83, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-uv5zt_vi/mutation_test.py", line 242, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: setup called body\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_one'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_one'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_eyxbv03/logs/fixture.log', 'log_sha256': 'b706cd5ec07e4c60083cb2b97fa7eb05473cafd58aded55c5f0b8e598f29f9dc'} + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-uv5zt_vi/tests/test_mutation_runner.py", line 83, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-uv5zt_vi/mutation_test.py", line 242, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: setup called dispatch\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_one'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_one'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpjj8sz0lm/logs/fixture.log', 'log_sha256': 'c5822d0b00f8482746161b692895d9408340022cdfc6015873d34d07ac0be81b'} + +---------------------------------------------------------------------- +Ran 1 test in 1.445s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/baseline-source-sha256.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/baseline-source-sha256.json new file mode 100644 index 000000000..829333696 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/baseline-source-sha256.json @@ -0,0 +1,12 @@ +{ + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "PLAN.md": "63166c3c703c1312205f5995ea78b208eaf50bd2f609419724a1c710a4cfc57e", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "mutation_test.py": "e6afa7a0ef6b3e5cd9ce3afb5a4784ecf5f3163c2ed36fef4a46a517f238b721", + "source_checks.py": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "tests/test_auditor.py": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/benign-setup-assertion.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/benign-setup-assertion.log new file mode 100644 index 000000000..3db2b19cf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/benign-setup-assertion.log @@ -0,0 +1,15 @@ +test_body (test_auditor.Benign.test_body) ... FAIL + +====================================================================== +FAIL: test_body (test_auditor.Benign.test_body) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hi054j_z/tests/test_auditor.py", line 3, in setUp + def setUp(self): self.fail("setup sentinel") + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: setup sentinel + +---------------------------------------------------------------------- +Ran 1 test in 0.000s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log new file mode 100644 index 000000000..db29542d3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log @@ -0,0 +1,42 @@ +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n') ... FAIL + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,"cleanup")\n') ... FAIL + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n') ... FAIL + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'teardown', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py", line 206, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: teardown\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpc6ak5mct/logs/fixture.log', 'log_sha256': '50e36be34803a3a2cfc54cc1820c4e6c5aaf1e2cfeb456ca96a88466735c15e8'} + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,"cleanup")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py", line 206, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: cleanup\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_q7hba5a/logs/fixture.log', 'log_sha256': '85851b286e5a5213b6ad68792e18d644f82ab7f5b38ef13b9b2cedb047d96e62'} + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 2, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\ntest_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py", line 194, in body\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/tmp/cbz-layer-a-mutant-9d7s6xgg/tests/test_auditor.py", line 3, in test_one\n def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n ^^^^^^^^^^^^^^^^^\nAssertionError: body\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py", line 206, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: cleanup\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=2)\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp4nyv_tm8/logs/fixture.log', 'log_sha256': '61797e62d9d8439c1cf3ff889f6afb791567e822e0a25c4e11586c85e612c86f'} + +---------------------------------------------------------------------- +Ran 1 test in 0.568s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log new file mode 100644 index 000000000..69429d862 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log @@ -0,0 +1,18 @@ +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... + test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n') ... FAIL + +====================================================================== +FAIL: test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-4ee91my6/tests/test_mutation_runner.py", line 117, in test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\ntest_one (test_auditor.C.test_one) ... ok\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nAssertionError: forged callback\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp9l1isqz6/logs/fixture.log', 'log_sha256': 'd408b1c80165ca79013846bf9442a23b1cc75a08259f58604a7698a56dc94b05'} + +---------------------------------------------------------------------- +Ran 1 test in 0.365s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-body-entry-accounting.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-body-entry-accounting.log new file mode 100644 index 000000000..1fad25b7b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-body-entry-accounting.log @@ -0,0 +1,20 @@ +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... FAIL + +====================================================================== +FAIL: test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 194, in body + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/tmp/cbz-layer-lifecycle-control-7fmmx9aw/tests/test_mutation_runner.py", line 61, in test_body_assertion_kills_and_identity_survives + self.assertEqual(passed['outcome'],'SURVIVED',passed) +AssertionError: 'ERROR' != 'SURVIVED' +- ERROR ++ SURVIVED + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': [], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp0y5ihp49/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'} + +---------------------------------------------------------------------- +Ran 1 test in 0.071s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-external-population-binding.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-external-population-binding.log new file mode 100644 index 000000000..9fe511f60 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-external-population-binding.log @@ -0,0 +1,18 @@ +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... FAIL + +====================================================================== +FAIL: test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 232, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_two'], 'started_ids': ['test_auditor.C.test_two'], 'finished_ids': ['test_auditor.C.test_two'], 'body_entered_ids': ['test_auditor.C.test_two'], 'body_finished_ids': ['test_auditor.C.test_two'], 'body_assertion_ids': ['test_auditor.C.test_two'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_two', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_two (test_auditor.C.test_two) ... FAIL\n\n======================================================================\nFAIL: test_two (test_auditor.C.test_two)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-s_izf505/mutation_test.py", line 232, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: wrong population\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_one'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_one'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '2ab973bdbb4c00686ec454b8bac6bec2513fe6ed5c21f9ebb1b81eb137203350', 'log': '/tmp/tmpl9qqsuxx/logs/fixture.log', 'log_sha256': '835707cfb85fd5c3f207371acec2cc3be43648604bdddae4636d07efe743ae54'} + +---------------------------------------------------------------------- +Ran 1 test in 0.158s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-schema-requirement.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-schema-requirement.log new file mode 100644 index 000000000..13ead2ff1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/drop-schema-requirement.log @@ -0,0 +1,18 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='receipt_schema') ... FAIL + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='receipt_schema') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-j6y1t_kx/tests/test_mutation_runner.py", line 127, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.224s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/evidence-index.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/evidence-index.json new file mode 100644 index 000000000..be0877af3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/evidence-index.json @@ -0,0 +1,70 @@ +{ + "changed_files": [ + "mutation_test.py", + "tests/test_mutation_runner.py" + ], + "claim": "targeted lifecycle runner repair; historical completed evidence reused", + "evidence_files": { + "evidence/layer_a/actual-source-controls/body-placeholder-weakening.log": "97329f849c40ec14ba28671433676756d4f17a2357a6ce5fc94d9621bb3fe2e5", + "evidence/layer_a/actual-source-controls/identity.log": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "evidence/layer_a/actual-source-controls/importerror-setup.log": "f2f9b477dc19bb0cbb40c5d0b074148fc3d9198ff042c5c9efd3f08740e26e73", + "evidence/layer_a/actual-source-controls/receipts.json": "1e6495f2a1b155fb3893960c37bff367275a5538eef7d0ee9af52929aeae7223", + "evidence/layer_a/allow-boolean-counts-first-attempt.log": "ea7a8f0e5d1ea18680fc28c97b70d171471dafe21ae248bb96a44640f934f706", + "evidence/layer_a/allow-boolean-counts.log": "f555fc30a591c4a7f46af27a7795a0a52e4775d7eb203c6a3fd0fdd8cf05a2d7", + "evidence/layer_a/allow-complete-duplicate-receipt.log": "a34f020aad6559eec1cd1018305c42d5f8008a7f0f5f0da24511bfde0286f45e", + "evidence/layer_a/allow-duplicate-direct-assertion-events.log": "975312c9d33754a0ee0df3679c7fa8529d5bcd552cc97118d57ba6c16b750df1", + "evidence/layer_a/allow-duplicate-method-ids.log": "58712533cadfadbff6d3a2428557f1f6aef65748d7480e33026c2cf16574d777", + "evidence/layer_a/allow-final-duplicate-population-receipt.log": "db9ab71d5d65e4726cdc57b3317baf222bb699dbf6177a762529a338940a2369", + "evidence/layer_a/allow-lifecycle-body-invocation.log": "3931e34a8b85b973a515c6fc2033147f82277924eafc0ea1387221735abdd3b5", + "evidence/layer_a/baseline-source-sha256.json": "2103e82406645987ef87649b63240a9ea3abe2f17288a22956724b4ec0b27770", + "evidence/layer_a/benign-setup-assertion.log": "4fafb267b998b6df5671ea143ed5768aaaeec2795c4ca0b315e07439747b335b", + "evidence/layer_a/credit-lifecycle-assertions.log": "abdffb3ed8af9407cdc0b0beabea9f732036b08e81a083fad7164cebb7cf636b", + "evidence/layer_a/credit-synthetic-body-callback.log": "819fb90ee586987ab069f952a62c4bcbf147ac0e1db23188fd1dd344576a1026", + "evidence/layer_a/drop-body-entry-accounting.log": "658660c0339ae12ac0a25ea1c218e980198ff1c317fbf55c4dc81090100fd541", + "evidence/layer_a/drop-external-population-binding.log": "e06761b787303128d4abc303cffd5059cc43a1ea6fdb4de47ffb83a6e265ba5d", + "evidence/layer_a/drop-schema-requirement.log": "f295efcaed50cf4319d7762d18e71a79bfbedd3a7d508332b8a72a578621148e", + "evidence/layer_a/final-accounting-source-controls.json": "58ae0684468b4472f55287091517a4e5462bffedac079d0fa8d930b9c0d1e03f", + "evidence/layer_a/final-actual-source-controls/body-placeholder-weakening.log": "b823ea9d7f3e570c0ca22f460dcc7b65bac5b29babc6e79ecce1e65fdc510372", + "evidence/layer_a/final-actual-source-controls/identity.log": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "evidence/layer_a/final-actual-source-controls/importerror-setup.log": "6eac87ca6e8d1470236dd3624d790866189b90290bfc684f6216f418e896a562", + "evidence/layer_a/final-actual-source-controls/receipts.json": "c1c5eeaab374105dd0cc5cf9f8342396712364a73ad3fd303db0bccf31e61bee", + "evidence/layer_a/final-focused-tests-with-assertion-provenance.log": "5c625a02969576a12922738f68eb9b162714b040165e518f1b7e1c75ddd10c3b", + "evidence/layer_a/final-focused-tests.log": "70d28a9ffaf56e2766f01bffe94ff146a70d09100fea66c75af86f25e6eefe89", + "evidence/layer_a/final-forged-receipts-normal.log": "5a158f43f99092a7307ac637eb76794198cf387d497369e80ad3a304dd06b363", + "evidence/layer_a/green-dispatch-hook.log": "90fcd430201a339409a2736b39eec1361204c8002b3e040af47a75436bedf563", + "evidence/layer_a/green-external-population.log": "d4c87cb11d5b3c7038b11b38516c25cca5ff75e52849a0a0e23dfe37429c1709", + "evidence/layer_a/green-focused-tests.log": "2478a211506f7fa0ed64e3a42a19cfe6418e48860382b3e4d392ecb8eacbede7", + "evidence/layer_a/green-forged-subtest-events.log": "991f5f3bf95c06c6b1ca4e7bd99a83c9d47a2a934fb282088b498b223dfd7ec5", + "evidence/layer_a/green-lifecycle-invokes-body.log": "bed3024419f029375d02a4e93649d85fd533d54511aa1acc94b914d2ced2d429", + "evidence/layer_a/green-synthetic-callback.log": "ab63922ceb0f3700dcbd2205834243ca8e096f29e172d5e3eaaaa050e7f2ceb4", + "evidence/layer_a/harness-source-controls-initial.json": "0cbf90e399ae6c10c2774fcb4fff6eeadc107d1f4730d67a582a38249ba36976", + "evidence/layer_a/harness-source-controls.json": "100f9129b8cec349cf54e42362edd7441cac12c91ef3e76cfaed6ccc1e9ae5d5", + "evidence/layer_a/ignore-completed-population.log": "b5e3f880d283ad9733985f7654fa9ba75f1f1b0eb90e1231cbd054be70496b83", + "evidence/layer_a/ignore-subtest-event-count.log": "7005456e8bebe2eb9b56e56a8c44b35aa4aaa2e914b51f1da9c2f6a1bb7a07d7", + "evidence/layer_a/ignore-subtest-phase.log": "49506c9b219a5cb5e0697b9a8b78b2d560ba090c22fc140e90cad562b2726a59", + "evidence/layer_a/lose-method-decorators.log": "7eab1e0a89fd174118f1188ee01510fe393bc5741bcb2130479d925978c62b2b", + "evidence/layer_a/new-obligation-source-controls.json": "24627a65535cd182478a12796da4ee6927ceed8a93ca94be5af3c8c469046b0d", + "evidence/layer_a/optimized-focused-tests.log": "0e5b8339c21caa406ac6ba6049539620044f1bd4ea42f92ecc5be55916fbb5eb", + "evidence/layer_a/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log": "8a6dfe4fbb3a4856f9ea8d12cb55caa4f31095eb17a370b1196c5493ddfbe001", + "evidence/layer_a/pre-assertion-events-actual-source-controls/identity.log": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "evidence/layer_a/pre-assertion-events-actual-source-controls/importerror-setup.log": "f3721624aa8831b88c0db6b9e251dabc4d21a2a5b0226f57f99246db94343cc8", + "evidence/layer_a/pre-assertion-events-actual-source-controls/receipts.json": "6ef5102e00197a3577c2a7f01dfb30939944b16806631cf67515317b724dd549", + "evidence/layer_a/pre-external-population/mutation_test.py": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "evidence/layer_a/pre-external-population/tests/test_mutation_runner.py": "e3ef018ee646ce11514331488660b4e492b23384d3043c003be54e478e7f707c", + "evidence/layer_a/red-assertion-event-provenance.log": "15520d4df9d87acd07e812b17011fc9d4f3a83314ba7b7412b251a24e1890ed2", + "evidence/layer_a/red-body-scoped-subtests.log": "b711eb863e5cc7bf5e113ff7fd1976c971ee5d79324191f4e3b040b85c22c574", + "evidence/layer_a/red-external-population.log": "e6d91ece48ee4bbbbea511f7ff2a66ae1328b91a0020320fbca773a2b6354ace", + "evidence/layer_a/red-focused-tests.log": "c8fc90a471bfe549d6b953270b152b79adfc458b73efbff8669bfac1271c6590", + "evidence/layer_a/red-lifecycle-invokes-body.log": "be631658efceb86a65e35e072a91a4a179850e5c34ce3b71f935b2e5846ace46", + "evidence/layer_a/red-setup-false-kill.json": "cf2e097d01ebb3366c46efb70e23dbd8c1b3de80b1b83668d5d215b1a20a7dc4", + "evidence/layer_a/run-final-accounting-source-controls.py": "84ce26cdf0eb5a99a29ede88bc7745fa07901785c18895d1ed7f73b3008efa3d", + "evidence/layer_a/run-harness-source-controls.py": "927db98e307dd03eb03685f806dd1e4009a4abb076c5d59b7fec3810b3a2df9f", + "evidence/layer_a/run-new-obligation-source-controls.py": "75042321cd76b3513c14f5fc45393cb6bb5b86e1cedf75d4a289e25795cd151a" + }, + "fresh_full_g0_run": false, + "mutation_definition_count": 57, + "mutation_definitions_sha256": "46854ff17c4ae7d5931f98dfa20dafecc13822dc8f57496a3eba6ce01265a637", + "normal_lifecycle_methods": 8, + "optimized_lifecycle_methods": 8, + "retained_old_harness_methods": 3 +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-accounting-source-controls.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-accounting-source-controls.json new file mode 100644 index 000000000..80abe5ccb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-accounting-source-controls.json @@ -0,0 +1,122 @@ +{ + "executed": 2, + "killed": 2, + "planned": 2, + "results": [ + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/allow-duplicate-direct-assertion-events.log", + "log_sha256": "975312c9d33754a0ee0df3679c7fa8529d5bcd552cc97118d57ba6c16b750df1", + "mutated_sha256": "11e8bb714fe79aed66724e942dde831816263997b53c9f8d13ae038514d24afe", + "name": "allow-duplicate-direct-assertion-events", + "original_sha256": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... FAIL\n\n======================================================================\nFAIL: test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.148s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/allow-final-duplicate-population-receipt.log", + "log_sha256": "db9ab71d5d65e4726cdc57b3317baf222bb699dbf6177a762529a338940a2369", + "mutated_sha256": "7a6f112d64b5ee2299651207f46d6d85137199d32da85b50d0fe7b8e2d392775", + "name": "allow-final-duplicate-population-receipt", + "original_sha256": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "source": "direct" + } + ], + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 244, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.176s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + } + ], + "scope": "changed lifecycle harness safeguards only" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log new file mode 100644 index 000000000..526bcd7c9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log @@ -0,0 +1,33 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yedzfsml/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yedzfsml/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yedzfsml/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log new file mode 100644 index 000000000..4bb0eb988 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log @@ -0,0 +1,6 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log new file mode 100644 index 000000000..995f0c07c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log @@ -0,0 +1,15 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... FAIL + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 254, in lifecycle + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: unexpectedly None : source checker implementation is missing + +---------------------------------------------------------------------- +Ran 1 test in 0.000s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json new file mode 100644 index 000000000..2985efbab --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json @@ -0,0 +1,304 @@ +[ + { + "assertion_failures": 0, + "errors": 0, + "expected": "SURVIVED", + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/final-actual-source-controls/identity.log", + "log_sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ] + }, + "returncode": 0, + "tests": { + "assertion_events": [], + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 11, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + }, + { + "assertion_failures": 3, + "errors": 0, + "expected": "KILLED", + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/final-actual-source-controls/body-placeholder-weakening.log", + "log_sha256": "b823ea9d7f3e570c0ca22f460dcc7b65bac5b29babc6e79ecce1e65fdc510372", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "body-placeholder-weakening", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "source": "subtest" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "source": "subtest" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "source": "subtest" + } + ], + "assertion_failures": 3, + "body_assertion_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... \n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL\n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL\n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-yedzfsml/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-yedzfsml/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-yedzfsml/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 11, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + }, + { + "assertion_failures": 1, + "errors": 0, + "expected": "ERROR", + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/final-actual-source-controls/importerror-setup.log", + "log_sha256": "6eac87ca6e8d1470236dd3624d790866189b90290bfc684f6216f418e896a562", + "mutated_sha256": "210a329ef2fd78d6ba2e01d9a35c685210d67969cb94ae95247763087358d70f", + "name": "importerror-setup", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ] + }, + "returncode": 1, + "tests": { + "assertion_events": [], + "assertion_failures": 1, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "kind": "assertion", + "phase": "setup" + } + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 1, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... FAIL\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 254, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: unexpectedly None : source checker implementation is missing\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +] diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log new file mode 100644 index 000000000..3c4ae4360 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log @@ -0,0 +1,13 @@ +test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... ok +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok +test_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... ok +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... ok +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... ok +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok + +---------------------------------------------------------------------- +Ran 8 tests in 3.990s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-focused-tests.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-focused-tests.log new file mode 100644 index 000000000..c9edc1a1f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-focused-tests.log @@ -0,0 +1,12 @@ +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok +test_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... ok +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... ok +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... ok +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok + +---------------------------------------------------------------------- +Ran 7 tests in 4.345s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-forged-receipts-normal.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-forged-receipts-normal.log new file mode 100644 index 000000000..d60b7324e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/final-forged-receipts-normal.log @@ -0,0 +1,6 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.287s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-dispatch-hook.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-dispatch-hook.log new file mode 100644 index 000000000..edbf08563 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-dispatch-hook.log @@ -0,0 +1,6 @@ +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.601s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-external-population.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-external-population.log new file mode 100644 index 000000000..6c52e6660 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-external-population.log @@ -0,0 +1,6 @@ +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.152s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-focused-tests.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-focused-tests.log new file mode 100644 index 000000000..26a68985e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-focused-tests.log @@ -0,0 +1,11 @@ +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok +test_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... ok +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... ok +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok + +---------------------------------------------------------------------- +Ran 6 tests in 1.811s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-forged-subtest-events.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-forged-subtest-events.log new file mode 100644 index 000000000..94ad95c48 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-forged-subtest-events.log @@ -0,0 +1,6 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.153s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log new file mode 100644 index 000000000..651ab43bd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log @@ -0,0 +1,6 @@ +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 1.530s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-synthetic-callback.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-synthetic-callback.log new file mode 100644 index 000000000..03573bf83 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/green-synthetic-callback.log @@ -0,0 +1,6 @@ +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.362s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/harness-source-controls-initial.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/harness-source-controls-initial.json new file mode 100644 index 000000000..cf692f21f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/harness-source-controls-initial.json @@ -0,0 +1,1373 @@ +{ + "executed": 10, + "killed": 9, + "planned": 10, + "results": [ + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/drop-schema-requirement.log", + "log_sha256": "f295efcaed50cf4319d7762d18e71a79bfbedd3a7d508332b8a72a578621148e", + "mutated_sha256": "47ba04104eab9a7ed1ef523a7730f7d74453472f3f03250e5c9371b8c5ca3749", + "name": "drop-schema-requirement", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='receipt_schema') ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='receipt_schema')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-j6y1t_kx/tests/test_mutation_runner.py\", line 127, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.224s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/allow-boolean-counts-first-attempt.log", + "log_sha256": "ea7a8f0e5d1ea18680fc28c97b70d171471dafe21ae248bb96a44640f934f706", + "mutated_sha256": "add3210b81e53836d8c39d4e750d7922d746feca505c7ce70167ce4e3dde15c0", + "name": "allow-boolean-counts", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "ERROR", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 2, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 2, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='subtests') ... ERROR\n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='lifecycle_failures') ... ERROR\n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='tests_run') ... FAIL\n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='assertion_failures') ... FAIL\n\n======================================================================\nERROR: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='subtests')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-uclpnxc1/tests/test_mutation_runner.py\", line 127, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/tmp/cbz-layer-lifecycle-control-uclpnxc1/mutation_test.py\", line 108, in classify_test_result\n if any(value[k] < 0 for k in counts):\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/tmp/cbz-layer-lifecycle-control-uclpnxc1/mutation_test.py\", line 108, in \n if any(value[k] < 0 for k in counts):\n ~~~~~^^^\nKeyError: 'subtests'\n\n======================================================================\nERROR: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='lifecycle_failures')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-uclpnxc1/tests/test_mutation_runner.py\", line 127, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/tmp/cbz-layer-lifecycle-control-uclpnxc1/mutation_test.py\", line 108, in classify_test_result\n if any(value[k] < 0 for k in counts):\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/tmp/cbz-layer-lifecycle-control-uclpnxc1/mutation_test.py\", line 108, in \n if any(value[k] < 0 for k in counts):\n ~~~~~^^^\nKeyError: 'lifecycle_failures'\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='tests_run')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-uclpnxc1/tests/test_mutation_runner.py\", line 131, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='assertion_failures')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-uclpnxc1/tests/test_mutation_runner.py\", line 131, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.143s\n\nFAILED (failures=2, errors=2)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "error", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "error", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/ignore-completed-population.log", + "log_sha256": "b5e3f880d283ad9733985f7654fa9ba75f1f1b0eb90e1231cbd054be70496b83", + "mutated_sha256": "4c6e935a01a8c5bb7830e548cefe23a13b5963b8b3078c58067751a7962364be", + "name": "ignore-completed-population", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 2, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='started_ids') ... FAIL\n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='body_finished_ids') ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='started_ids')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-oerawlhn/tests/test_mutation_runner.py\", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='body_finished_ids')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-oerawlhn/tests/test_mutation_runner.py\", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.145s\n\nFAILED (failures=2)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/allow-duplicate-method-ids.log", + "log_sha256": "58712533cadfadbff6d3a2428557f1f6aef65748d7480e33026c2cf16574d777", + "mutated_sha256": "6e56aa214dbde04718a868502ff673f2ab90abaf54379e7b6f40b1e2f901707f", + "name": "allow-duplicate-method-ids", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... \n test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\\nclass C(unittest.TestCase):\\n def test_one(self): self.fail(\"body\")\\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C(\"test_one\"), C(\"test_one\")])\\n') ... FAIL\n\n======================================================================\nFAIL: test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\\nclass C(unittest.TestCase):\\n def test_one(self): self.fail(\"body\")\\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C(\"test_one\"), C(\"test_one\")])\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-sg2efvms/tests/test_mutation_runner.py\", line 117, in test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\ntest_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-sg2efvms/mutation_test.py\", line 194, in body\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/tmp/cbz-layer-a-mutant-c7ew7a2p/tests/test_auditor.py\", line 3, in test_one\\n def test_one(self): self.fail(\"body\")\\n ^^^^^^^^^^^^^^^^^\\nAssertionError: body\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-sg2efvms/mutation_test.py\", line 194, in body\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/tmp/cbz-layer-a-mutant-c7ew7a2p/tests/test_auditor.py\", line 3, in test_one\\n def test_one(self): self.fail(\"body\")\\n ^^^^^^^^^^^^^^^^^\\nAssertionError: body\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=2)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpginuj8ch/logs/fixture.log', 'log_sha256': '801e0bf9a8f1f53fc5b6dc86884b1c0564c1a61407eefc00d119fbe4e32ca5c5'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.414s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 5, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/credit-lifecycle-assertions.log", + "log_sha256": "abdffb3ed8af9407cdc0b0beabea9f732036b08e81a083fad7164cebb7cf636b", + "mutated_sha256": "d9383a1f40bd0db2e63c73520172bed708fa700cbe11f7d1310384fb56f6311e", + "name": "credit-lifecycle-assertions", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "tests": { + "assertion_failures": 3, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... \n test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): pass\\n def tearDown(self): self.fail(\"teardown\")\\n') ... FAIL\n test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,\"cleanup\")\\n') ... FAIL\n test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,\"cleanup\"); self.fail(\"body\")\\n') ... FAIL\n\n======================================================================\nFAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): pass\\n def tearDown(self): self.fail(\"teardown\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py\", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'teardown', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py\", line 206, in lifecycle\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: teardown\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpc6ak5mct/logs/fixture.log', 'log_sha256': '50e36be34803a3a2cfc54cc1820c4e6c5aaf1e2cfeb456ca96a88466735c15e8'}\n\n======================================================================\nFAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,\"cleanup\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py\", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py\", line 206, in lifecycle\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: cleanup\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_q7hba5a/logs/fixture.log', 'log_sha256': '85851b286e5a5213b6ad68792e18d644f82ab7f5b38ef13b9b2cedb047d96e62'}\n\n======================================================================\nFAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,\"cleanup\"); self.fail(\"body\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py\", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 2, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\ntest_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py\", line 194, in body\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/tmp/cbz-layer-a-mutant-9d7s6xgg/tests/test_auditor.py\", line 3, in test_one\\n def test_one(self): self.addCleanup(self.fail,\"cleanup\"); self.fail(\"body\")\\n ^^^^^^^^^^^^^^^^^\\nAssertionError: body\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py\", line 206, in lifecycle\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: cleanup\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=2)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp4nyv_tm8/logs/fixture.log', 'log_sha256': '61797e62d9d8439c1cf3ff889f6afb791567e822e0a25c4e11586c85e612c86f'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.568s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 8, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/credit-synthetic-body-callback.log", + "log_sha256": "819fb90ee586987ab069f952a62c4bcbf147ac0e1db23188fd1dd344576a1026", + "mutated_sha256": "4545caa176fbb0b7c2a66ded3029280157e3c422492335c20ab2dfa8ebf911bb", + "name": "credit-synthetic-body-callback", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... \n test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\\nclass C(unittest.TestCase):\\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError(\"forged callback\"),None))\\n') ... FAIL\n\n======================================================================\nFAIL: test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\\nclass C(unittest.TestCase):\\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError(\"forged callback\"),None))\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-4ee91my6/tests/test_mutation_runner.py\", line 117, in test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\ntest_one (test_auditor.C.test_one) ... ok\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nAssertionError: forged callback\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp9l1isqz6/logs/fixture.log', 'log_sha256': 'd408b1c80165ca79013846bf9442a23b1cc75a08259f58604a7698a56dc94b05'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.365s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 5, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/ignore-subtest-phase.log", + "log_sha256": "49506c9b219a5cb5e0697b9a8b78b2d560ba090c22fc140e90cad562b2726a59", + "mutated_sha256": "0b33e4c3c6c5b4fc1cfade1c8c72ef08e9aa4ed0d40dceadc7b7edc3cf555439", + "name": "ignore-subtest-phase", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (subtest_event={'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'outcome': 'assertion'}) ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (subtest_event={'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'outcome': 'assertion'})\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-eubjkfro/tests/test_mutation_runner.py\", line 142, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.145s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/ignore-subtest-event-count.log", + "log_sha256": "7005456e8bebe2eb9b56e56a8c44b35aa4aaa2e914b51f1da9c2f6a1bb7a07d7", + "mutated_sha256": "38b46ce589be25355d8a2512ed291f00066fc7c46b6548c0d1dadab45ea09744", + "name": "ignore-subtest-event-count", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='subtests') ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='subtests')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-us37pd23/tests/test_mutation_runner.py\", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.141s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/lose-method-decorators.log", + "log_sha256": "7eab1e0a89fd174118f1188ee01510fe393bc5741bcb2130479d925978c62b2b", + "mutated_sha256": "526b61b9b01f7f5e138a123ac261beee6102956195589aff9c1814c2fe6374a4", + "name": "lose-method-decorators", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "tests": { + "assertion_failures": 2, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... \n test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\\n def test_one(self): self.fail(\"expected\")\\n') ... FAIL\n test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\\n def test_one(self): pass\\n') ... FAIL\n\n======================================================================\nFAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\\n def test_one(self): self.fail(\"expected\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-o2kg5xt8/tests/test_mutation_runner.py\", line 95, in test_errors_skips_expected_failures_and_subtests_are_ambiguous\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-o2kg5xt8/mutation_test.py\", line 193, in body\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/tmp/cbz-layer-a-mutant-38b229bd/tests/test_auditor.py\", line 4, in test_one\\n def test_one(self): self.fail(\"expected\")\\n ^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: expected\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_qu98zrx/logs/fixture.log', 'log_sha256': 'a7992612fcd1c960247d39355515ddbaa2717297080872bfcd838f64cb8291a6'}\n\n======================================================================\nFAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\\n def test_one(self): pass\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-o2kg5xt8/tests/test_mutation_runner.py\", line 95, in test_errors_skips_expected_failures_and_subtests_are_ambiguous\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'SURVIVED', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nOK\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpqpei69az/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.427s\n\nFAILED (failures=2)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 6, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/drop-body-entry-accounting.log", + "log_sha256": "658660c0339ae12ac0a25ea1c218e980198ff1c317fbf55c4dc81090100fd541", + "mutated_sha256": "4d41b026a6cc5d6f583ac59bff8b501502db225f531021ff41fcdf07426cc511", + "name": "drop-body-entry-accounting", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... FAIL\n\n======================================================================\nFAIL: test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 194, in body\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/tmp/cbz-layer-lifecycle-control-7fmmx9aw/tests/test_mutation_runner.py\", line 61, in test_body_assertion_kills_and_identity_survives\n self.assertEqual(passed['outcome'],'SURVIVED',passed)\nAssertionError: 'ERROR' != 'SURVIVED'\n- ERROR\n+ SURVIVED\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': [], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nOK\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp0y5ihp49/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.071s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + } + ], + "scope": "changed lifecycle harness safeguards only" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/harness-source-controls.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/harness-source-controls.json new file mode 100644 index 000000000..b1ad9d8d5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/harness-source-controls.json @@ -0,0 +1,1373 @@ +{ + "executed": 10, + "killed": 10, + "planned": 10, + "results": [ + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/drop-schema-requirement.log", + "log_sha256": "f295efcaed50cf4319d7762d18e71a79bfbedd3a7d508332b8a72a578621148e", + "mutated_sha256": "47ba04104eab9a7ed1ef523a7730f7d74453472f3f03250e5c9371b8c5ca3749", + "name": "drop-schema-requirement", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='receipt_schema') ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='receipt_schema')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-j6y1t_kx/tests/test_mutation_runner.py\", line 127, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.224s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/allow-boolean-counts.log", + "log_sha256": "f555fc30a591c4a7f46af27a7795a0a52e4775d7eb203c6a3fd0fdd8cf05a2d7", + "mutated_sha256": "b05a498f4ea8020c4a382c612eea4f057150220341dd5efe6b133c3746ce2d20", + "name": "allow-boolean-counts", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 2, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='tests_run') ... FAIL\n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='assertion_failures') ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='tests_run')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-dycrewh3/tests/test_mutation_runner.py\", line 131, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (noninteger='assertion_failures')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-dycrewh3/tests/test_mutation_runner.py\", line 131, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.150s\n\nFAILED (failures=2)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/ignore-completed-population.log", + "log_sha256": "b5e3f880d283ad9733985f7654fa9ba75f1f1b0eb90e1231cbd054be70496b83", + "mutated_sha256": "4c6e935a01a8c5bb7830e548cefe23a13b5963b8b3078c58067751a7962364be", + "name": "ignore-completed-population", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 2, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='started_ids') ... FAIL\n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='body_finished_ids') ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='started_ids')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-oerawlhn/tests/test_mutation_runner.py\", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='body_finished_ids')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-oerawlhn/tests/test_mutation_runner.py\", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.145s\n\nFAILED (failures=2)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/allow-duplicate-method-ids.log", + "log_sha256": "58712533cadfadbff6d3a2428557f1f6aef65748d7480e33026c2cf16574d777", + "mutated_sha256": "6e56aa214dbde04718a868502ff673f2ab90abaf54379e7b6f40b1e2f901707f", + "name": "allow-duplicate-method-ids", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... \n test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\\nclass C(unittest.TestCase):\\n def test_one(self): self.fail(\"body\")\\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C(\"test_one\"), C(\"test_one\")])\\n') ... FAIL\n\n======================================================================\nFAIL: test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\\nclass C(unittest.TestCase):\\n def test_one(self): self.fail(\"body\")\\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C(\"test_one\"), C(\"test_one\")])\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-sg2efvms/tests/test_mutation_runner.py\", line 117, in test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\ntest_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-sg2efvms/mutation_test.py\", line 194, in body\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/tmp/cbz-layer-a-mutant-c7ew7a2p/tests/test_auditor.py\", line 3, in test_one\\n def test_one(self): self.fail(\"body\")\\n ^^^^^^^^^^^^^^^^^\\nAssertionError: body\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-sg2efvms/mutation_test.py\", line 194, in body\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/tmp/cbz-layer-a-mutant-c7ew7a2p/tests/test_auditor.py\", line 3, in test_one\\n def test_one(self): self.fail(\"body\")\\n ^^^^^^^^^^^^^^^^^\\nAssertionError: body\\n\\n----------------------------------------------------------------------\\nRan 2 tests in 0.000s\\n\\nFAILED (failures=2)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpginuj8ch/logs/fixture.log', 'log_sha256': '801e0bf9a8f1f53fc5b6dc86884b1c0564c1a61407eefc00d119fbe4e32ca5c5'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.414s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 5, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/credit-lifecycle-assertions.log", + "log_sha256": "abdffb3ed8af9407cdc0b0beabea9f732036b08e81a083fad7164cebb7cf636b", + "mutated_sha256": "d9383a1f40bd0db2e63c73520172bed708fa700cbe11f7d1310384fb56f6311e", + "name": "credit-lifecycle-assertions", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "tests": { + "assertion_failures": 3, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... \n test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): pass\\n def tearDown(self): self.fail(\"teardown\")\\n') ... FAIL\n test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,\"cleanup\")\\n') ... FAIL\n test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,\"cleanup\"); self.fail(\"body\")\\n') ... FAIL\n\n======================================================================\nFAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): pass\\n def tearDown(self): self.fail(\"teardown\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py\", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'teardown', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py\", line 206, in lifecycle\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: teardown\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpc6ak5mct/logs/fixture.log', 'log_sha256': '50e36be34803a3a2cfc54cc1820c4e6c5aaf1e2cfeb456ca96a88466735c15e8'}\n\n======================================================================\nFAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,\"cleanup\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py\", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py\", line 206, in lifecycle\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: cleanup\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_q7hba5a/logs/fixture.log', 'log_sha256': '85851b286e5a5213b6ad68792e18d644f82ab7f5b38ef13b9b2cedb047d96e62'}\n\n======================================================================\nFAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,\"cleanup\"); self.fail(\"body\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/tests/test_mutation_runner.py\", line 81, in test_setup_teardown_cleanup_assertions_cannot_kill\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 2, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one', 'test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}, {'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 2, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\ntest_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py\", line 194, in body\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/tmp/cbz-layer-a-mutant-9d7s6xgg/tests/test_auditor.py\", line 3, in test_one\\n def test_one(self): self.addCleanup(self.fail,\"cleanup\"); self.fail(\"body\")\\n ^^^^^^^^^^^^^^^^^\\nAssertionError: body\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-495vbucv/mutation_test.py\", line 206, in lifecycle\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: cleanup\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=2)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp4nyv_tm8/logs/fixture.log', 'log_sha256': '61797e62d9d8439c1cf3ff889f6afb791567e822e0a25c4e11586c85e612c86f'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.568s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "assertion", + "phase": "body" + } + ], + "subtests": 8, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/credit-synthetic-body-callback.log", + "log_sha256": "819fb90ee586987ab069f952a62c4bcbf147ac0e1db23188fd1dd344576a1026", + "mutated_sha256": "4545caa176fbb0b7c2a66ded3029280157e3c422492335c20ab2dfa8ebf911bb", + "name": "credit-synthetic-body-callback", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... \n test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\\nclass C(unittest.TestCase):\\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError(\"forged callback\"),None))\\n') ... FAIL\n\n======================================================================\nFAIL: test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\\nclass C(unittest.TestCase):\\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError(\"forged callback\"),None))\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-4ee91my6/tests/test_mutation_runner.py\", line 117, in test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\ntest_one (test_auditor.C.test_one) ... ok\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nAssertionError: forged callback\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp9l1isqz6/logs/fixture.log', 'log_sha256': 'd408b1c80165ca79013846bf9442a23b1cc75a08259f58604a7698a56dc94b05'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.365s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 5, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/ignore-subtest-phase.log", + "log_sha256": "49506c9b219a5cb5e0697b9a8b78b2d560ba090c22fc140e90cad562b2726a59", + "mutated_sha256": "0b33e4c3c6c5b4fc1cfade1c8c72ef08e9aa4ed0d40dceadc7b7edc3cf555439", + "name": "ignore-subtest-phase", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (subtest_event={'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'outcome': 'assertion'}) ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (subtest_event={'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'outcome': 'assertion'})\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-eubjkfro/tests/test_mutation_runner.py\", line 142, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.145s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/ignore-subtest-event-count.log", + "log_sha256": "7005456e8bebe2eb9b56e56a8c44b35aa4aaa2e914b51f1da9c2f6a1bb7a07d7", + "mutated_sha256": "38b46ce589be25355d8a2512ed291f00066fc7c46b6548c0d1dadab45ea09744", + "name": "ignore-subtest-event-count", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... \n test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='subtests') ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='subtests')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-us37pd23/tests/test_mutation_runner.py\", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed\n self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR')\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.141s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 31, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/lose-method-decorators.log", + "log_sha256": "7eab1e0a89fd174118f1188ee01510fe393bc5741bcb2130479d925978c62b2b", + "mutated_sha256": "526b61b9b01f7f5e138a123ac261beee6102956195589aff9c1814c2fe6374a4", + "name": "lose-method-decorators", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "tests": { + "assertion_failures": 2, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... \n test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\\n def test_one(self): self.fail(\"expected\")\\n') ... FAIL\n test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\\n def test_one(self): pass\\n') ... FAIL\n\n======================================================================\nFAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\\n def test_one(self): self.fail(\"expected\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-o2kg5xt8/tests/test_mutation_runner.py\", line 95, in test_errors_skips_expected_failures_and_subtests_are_ambiguous\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-o2kg5xt8/mutation_test.py\", line 193, in body\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/tmp/cbz-layer-a-mutant-38b229bd/tests/test_auditor.py\", line 4, in test_one\\n def test_one(self): self.fail(\"expected\")\\n ^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: expected\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_qu98zrx/logs/fixture.log', 'log_sha256': 'a7992612fcd1c960247d39355515ddbaa2717297080872bfcd838f64cb8291a6'}\n\n======================================================================\nFAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\\n def test_one(self): pass\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-o2kg5xt8/tests/test_mutation_runner.py\", line 95, in test_errors_skips_expected_failures_and_subtests_are_ambiguous\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'SURVIVED' != 'ERROR'\n- SURVIVED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'SURVIVED', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nOK\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpqpei69az/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.427s\n\nFAILED (failures=2)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 6, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/drop-body-entry-accounting.log", + "log_sha256": "658660c0339ae12ac0a25ea1c218e980198ff1c317fbf55c4dc81090100fd541", + "mutated_sha256": "4d41b026a6cc5d6f583ac59bff8b501502db225f531021ff41fcdf07426cc511", + "name": "drop-body-entry-accounting", + "original_sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... FAIL\n\n======================================================================\nFAIL: test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 194, in body\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/tmp/cbz-layer-lifecycle-control-7fmmx9aw/tests/test_mutation_runner.py\", line 61, in test_body_assertion_kills_and_identity_survives\n self.assertEqual(passed['outcome'],'SURVIVED',passed)\nAssertionError: 'ERROR' != 'SURVIVED'\n- ERROR\n+ SURVIVED\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': [], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nOK\\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp0y5ihp49/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.071s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + } + ], + "scope": "changed lifecycle harness safeguards only" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-completed-population.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-completed-population.log new file mode 100644 index 000000000..4fcccff10 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-completed-population.log @@ -0,0 +1,30 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='started_ids') ... FAIL + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='body_finished_ids') ... FAIL + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='started_ids') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-oerawlhn/tests/test_mutation_runner.py", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='body_finished_ids') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-oerawlhn/tests/test_mutation_runner.py", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.145s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-event-count.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-event-count.log new file mode 100644 index 000000000..aa898fa9f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-event-count.log @@ -0,0 +1,18 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='subtests') ... FAIL + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (forged='subtests') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-us37pd23/tests/test_mutation_runner.py", line 135, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.141s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-phase.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-phase.log new file mode 100644 index 000000000..5514a939e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-phase.log @@ -0,0 +1,18 @@ +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (subtest_event={'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'outcome': 'assertion'}) ... FAIL + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (subtest_event={'id': 'test_auditor.C.test_one', 'phase': 'cleanup', 'outcome': 'assertion'}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-eubjkfro/tests/test_mutation_runner.py", line 142, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.145s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/independent-lifecycle-review.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/independent-lifecycle-review.json new file mode 100644 index 000000000..d0d53e5a2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/independent-lifecycle-review.json @@ -0,0 +1,79 @@ +{ + "evidence_policy": "Completed applicable controls and historical body-assertion traces are reused; no unchanged mathematical, Lean, build, original full-suite or original mutant verification replayed. Provider-distinct process requirements remain separate.", + "final_outcome": "No unresolved actionable issue in reviewed runner/classifier/harness scope. This is a scoped review, not a new broad verification or CBZ declaration.", + "historical_applicability": "Original kernel 19 fresh plus 6 reused and auditor 53 historical body traces remain historical source-applicable evidence; this review does not rewrite them into new-schema receipts or present a new full run. Production sources/test bodies and original mutation definitions are outside this patch except separately owned lexer integration.", + "kernel_replay": { + "bindings": { + "work/kernel_replay/mutations.py": "a1a0b0e7d6c5809c1f3f291a10aa14edc04265ce73cf76494318f966ab69b9bd", + "work/kernel_replay/run_tests.py": "de089e08688ffb2c236cdc34ccc095eb421d5162dde6d8eff24af7fdc3c91baa", + "work/kernel_replay/tests/test_mutation_harness.py": "9887371525049cbc9685fadfd02531b1171507ad3c2c8373947c37875b3783e6" + }, + "checked": [ + "actual selected method invocation rather than dispatcher hook", + "dispatcher authorization outside enclosing lifecycle depth", + "complete unique selected canonical parent population and pre-mutation --list binding", + "exact exception object for direct assertion and exact integer/event accounting", + "subtest body activity, lifecycle phase and actual subtest.test_case parent identity" + ], + "evidence_detail": { + "established_methods_before_foreign_parent_control": 13, + "established_unique_safeguard_mutants_before_foreign_parent_control": 9, + "final_foreign_parent_guard_mutant": "KILLED by focused foreign-parent assertion control; receipt kernel-parent-identity-mutant/summary.json", + "new_foreign_parent_method": 1, + "total_focused_methods": 14, + "total_unique_safeguard_mutants": 10 + }, + "new_execution_by_reviewer": "Only three concrete counterexample fixtures during review (dispatch hook, lifecycle invocation, foreign subtest); no completed applicable test or mathematical check repeated.", + "previous_findings_addressed": [ + "dispatch-hook assertion before actual selected method", + "selected-method invocation from lifecycle hook", + "selector and externally established expected population binding", + "foreign subtest falsely attributed to selected parent" + ], + "reused_evidence": [ + "evidence/kernel-controls-green.log", + "evidence/kernel-population-listing-green.log", + "evidence/kernel-controls-optimized-green.log", + "evidence/kernel-foreign-subtest-green.log", + "evidence/kernel-foreign-subtest-optimized-green.log", + "evidence/kernel-harness-mutants/summary.json", + "evidence/kernel-final-runner-mutants/summary.json", + "evidence/kernel-parent-identity-mutant/summary.json" + ], + "status": "CLEAR_FOR_REVIEWED_SCOPE" + }, + "layer_a": { + "bindings": { + "work/layer_a/mutation_test.py": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "work/layer_a/tests/test_mutation_runner.py": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d" + }, + "checked": [ + "actual selected method wrapper requires active dispatcher and no enclosing lifecycle hook", + "direct body assertion uses exact escaping exception object", + "complete unique canonical selected population is bound before source mutation using fixture-free --list", + "body-scoped subtests check active parent and subtest.test_case identity; lifecycle and error outcomes reject", + "assertion event origin and exact integer counts agree; old or incomplete summaries reject" + ], + "evidence_detail": { + "actual_source_controls": { + "body-placeholder-weakening": "KILLED by 3 body-scoped subtest assertions", + "identity": "SURVIVED", + "importerror-setup": "ERROR with 1 lifecycle assertion, no selected body entry" + }, + "final_changed_guard_review": "Exact assertion_events id/source match body_assertion_ids; at most one direct assertion per parent; filtered subtest assertions equal subtest event sequence. Final hash cut reread after prior review generation.", + "focused_methods_normal": 8, + "focused_methods_optimized": 8 + }, + "reused_evidence": [ + "evidence/layer_a/final-focused-tests-with-assertion-provenance.log", + "evidence/layer_a/optimized-focused-tests.log", + "evidence/layer_a/new-obligation-source-controls.json", + "evidence/layer_a/final-actual-source-controls/receipts.json" + ], + "status": "CLEAR_FOR_REVIEWED_SCOPE", + "test_execution_by_this_reviewer": 0 + }, + "review_type": "independent static code review with reusable completed verification", + "reviewer": "kernel_lifecycle_review", + "schema_version": 1 +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/lose-method-decorators.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/lose-method-decorators.log new file mode 100644 index 000000000..ab283e9e3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/lose-method-decorators.log @@ -0,0 +1,30 @@ +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... + test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n') ... FAIL + test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): pass\n') ... FAIL + +====================================================================== +FAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-o2kg5xt8/tests/test_mutation_runner.py", line 95, in test_errors_skips_expected_failures_and_subtests_are_ambiguous + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/cbz-layer-lifecycle-control-o2kg5xt8/mutation_test.py", line 193, in body\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/tmp/cbz-layer-a-mutant-38b229bd/tests/test_auditor.py", line 4, in test_one\n def test_one(self): self.fail("expected")\n ^^^^^^^^^^^^^^^^^^^^^\nAssertionError: expected\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_qu98zrx/logs/fixture.log', 'log_sha256': 'a7992612fcd1c960247d39355515ddbaa2717297080872bfcd838f64cb8291a6'} + +====================================================================== +FAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): pass\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-lifecycle-control-o2kg5xt8/tests/test_mutation_runner.py", line 95, in test_errors_skips_expected_failures_and_subtests_are_ambiguous + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'SURVIVED', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpqpei69az/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'} + +---------------------------------------------------------------------- +Ran 1 test in 0.427s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/new-obligation-source-controls.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/new-obligation-source-controls.json new file mode 100644 index 000000000..258c9d1af --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/new-obligation-source-controls.json @@ -0,0 +1,207 @@ +{ + "executed": 3, + "killed": 3, + "planned": 3, + "results": [ + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/drop-external-population-binding.log", + "log_sha256": "e06761b787303128d4abc303cffd5059cc43a1ea6fdb4de47ffb83a6e265ba5d", + "mutated_sha256": "5446ee1c3ec1b1ee6af36e0bd43c9a643c6211c9a8c7c162f3f9ba7213461068", + "name": "drop-external-population-binding", + "original_sha256": "b36e1c95a22efe62975fcf3026d192a1f70cd4a6dcba4c4a07fdf42cfa4677a2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... FAIL\n\n======================================================================\nFAIL: test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 232, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_two'], 'started_ids': ['test_auditor.C.test_two'], 'finished_ids': ['test_auditor.C.test_two'], 'body_entered_ids': ['test_auditor.C.test_two'], 'body_finished_ids': ['test_auditor.C.test_two'], 'body_assertion_ids': ['test_auditor.C.test_two'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_two', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_two (test_auditor.C.test_two) ... FAIL\\n\\n======================================================================\\nFAIL: test_two (test_auditor.C.test_two)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-s_izf505/mutation_test.py\", line 232, in dispatch\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: wrong population\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_one'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_one'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '2ab973bdbb4c00686ec454b8bac6bec2513fe6ed5c21f9ebb1b81eb137203350', 'log': '/tmp/tmpl9qqsuxx/logs/fixture.log', 'log_sha256': '835707cfb85fd5c3f207371acec2cc3be43648604bdddae4636d07efe743ae54'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.158s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/allow-lifecycle-body-invocation.log", + "log_sha256": "3931e34a8b85b973a515c6fc2033147f82277924eafc0ea1387221735abdd3b5", + "mutated_sha256": "7aac172293de71fca5ac0a040da4794e30f52d280decffa3360750c4f20b7269", + "name": "allow-lifecycle-body-invocation", + "original_sha256": "b36e1c95a22efe62975fcf3026d192a1f70cd4a6dcba4c4a07fdf42cfa4677a2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "tests": { + "assertion_failures": 2, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... \n test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self.test_one()\\n def test_one(self): self.fail(\"setup called body\")\\n') ... FAIL\n test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self._callTestMethod(self.test_one)\\n def test_one(self): self.fail(\"setup called dispatch\")\\n') ... FAIL\n\n======================================================================\nFAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self.test_one()\\n def test_one(self): self.fail(\"setup called body\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-uv5zt_vi/tests/test_mutation_runner.py\", line 83, in test_setup_teardown_cleanup_assertions_cannot_kill\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-uv5zt_vi/mutation_test.py\", line 242, in lifecycle\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: setup called body\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_one'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_one'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp_eyxbv03/logs/fixture.log', 'log_sha256': 'b706cd5ec07e4c60083cb2b97fa7eb05473cafd58aded55c5f0b8e598f29f9dc'}\n\n======================================================================\nFAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self._callTestMethod(self.test_one)\\n def test_one(self): self.fail(\"setup called dispatch\")\\n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-lifecycle-control-uv5zt_vi/tests/test_mutation_runner.py\", line 83, in test_setup_teardown_cleanup_assertions_cannot_kill\n self.assertEqual(value['outcome'],'ERROR',value)\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\\n\\n======================================================================\\nFAIL: test_one (test_auditor.C.test_one)\\n----------------------------------------------------------------------\\nTraceback (most recent call last):\\n File \"/tmp/cbz-layer-lifecycle-control-uv5zt_vi/mutation_test.py\", line 242, in lifecycle\\n return _original(*args,**kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError: setup called dispatch\\n\\n----------------------------------------------------------------------\\nRan 1 test in 0.000s\\n\\nFAILED (failures=1)\\n'}, 'expected_ids': ['test_auditor.C.test_one'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_one'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpjj8sz0lm/logs/fixture.log', 'log_sha256': 'c5822d0b00f8482746161b692895d9408340022cdfc6015873d34d07ac0be81b'}\n\n----------------------------------------------------------------------\nRan 1 test in 1.445s\n\nFAILED (failures=2)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill" + ], + "subtest_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 10, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + }, + { + "file": "mutation_test.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/allow-complete-duplicate-receipt.log", + "log_sha256": "a34f020aad6559eec1cd1018305c42d5f8008a7f0f5f0da24511bfde0286f45e", + "mutated_sha256": "b527c2cd0482cf23bc8df3b91766be042e87e2cec1eecb31b02fe1f5e226fcf7", + "name": "allow-complete-duplicate-receipt", + "original_sha256": "b36e1c95a22efe62975fcf3026d192a1f70cd4a6dcba4c4a07fdf42cfa4677a2", + "outcome": "KILLED", + "returncode": 1, + "selected_test": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_entered_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "body_finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed", + "kind": "assertion", + "phase": "body" + } + ], + "finished_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... FAIL\n\n======================================================================\nFAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 232, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'KILLED' != 'ERROR'\n- KILLED\n+ ERROR\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.151s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "skipped": 0, + "started_ids": [ + "test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + } + } + ], + "scope": "changed lifecycle harness safeguards only" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/optimized-focused-tests.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/optimized-focused-tests.log new file mode 100644 index 000000000..622f6a222 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/optimized-focused-tests.log @@ -0,0 +1,13 @@ +test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... ok +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok +test_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... ok +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... ok +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... ok +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ok +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok + +---------------------------------------------------------------------- +Ran 8 tests in 12.925s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log new file mode 100644 index 000000000..acb91f7d7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log @@ -0,0 +1,33 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-y7ipqu75/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-y7ipqu75/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-y7ipqu75/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.002s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log new file mode 100644 index 000000000..4bb0eb988 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log @@ -0,0 +1,6 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log new file mode 100644 index 000000000..8076c1105 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log @@ -0,0 +1,15 @@ +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... FAIL + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 242, in lifecycle + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: unexpectedly None : source checker implementation is missing + +---------------------------------------------------------------------- +Ran 1 test in 0.000s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json new file mode 100644 index 000000000..77b7310e8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json @@ -0,0 +1,288 @@ +[ + { + "assertion_failures": 0, + "errors": 0, + "expected": "SURVIVED", + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/pre-assertion-events-actual-source-controls/identity.log", + "log_sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "name": "identity", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "SURVIVED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ] + }, + "returncode": 0, + "tests": { + "assertion_failures": 0, + "body_assertion_ids": [], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nOK\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 11, + "successful": true, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + }, + { + "assertion_failures": 3, + "errors": 0, + "expected": "KILLED", + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "log_sha256": "8a6dfe4fbb3a4856f9ea8d12cb55caa4f31095eb17a370b1196c5493ddfbe001", + "mutated_sha256": "f4cbd694639a315f256d844d734d7afd19b916f47f8e3e720236e91789131732", + "name": "body-placeholder-weakening", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "KILLED", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ] + }, + "returncode": 1, + "tests": { + "assertion_failures": 3, + "body_assertion_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "errors": 0, + "expected_failures": 0, + "failure_events": [], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 0, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... \n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL\n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL\n test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-y7ipqu75/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-y7ipqu75/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-y7ipqu75/tests/test_auditor.py\", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected\n self.assertIn(code, self.lean_codes('theorem t : True := by ' + word))\nAssertionError: 'LEAN_PLACEHOLDER' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.002s\n\nFAILED (failures=3)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "assertion", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + }, + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "outcome": "success", + "phase": "body" + } + ], + "subtests": 11, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + }, + { + "assertion_failures": 1, + "errors": 0, + "expected": "ERROR", + "expected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "file": "source_checks.py", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/pre-assertion-events-actual-source-controls/importerror-setup.log", + "log_sha256": "f3721624aa8831b88c0db6b9e251dabc4d21a2a5b0226f57f99246db94343cc8", + "mutated_sha256": "210a329ef2fd78d6ba2e01d9a35c685210d67969cb94ae95247763087358d70f", + "name": "importerror-setup", + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "outcome": "ERROR", + "pristine_population": { + "invalid_population": [], + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ] + }, + "returncode": 1, + "tests": { + "assertion_failures": 1, + "body_assertion_ids": [], + "body_entered_ids": [], + "body_finished_ids": [], + "errors": 0, + "expected_failures": 0, + "failure_events": [ + { + "id": "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected", + "kind": "assertion", + "phase": "setup" + } + ], + "finished_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "invalid_population": [], + "lifecycle_failures": 1, + "log": "test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... FAIL\n\n======================================================================\nFAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py\", line 242, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: unexpectedly None : source checker implementation is missing\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n", + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "skipped": 0, + "started_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "subtest_events": [], + "subtests": 0, + "successful": false, + "tests_run": 1, + "unexpected_successes": 0 + }, + "tests_run": 1 + } +] diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py new file mode 100644 index 000000000..9e12f7eef --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py @@ -0,0 +1,355 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if any(assertion_subtests.count(i)>value['body_assertion_ids'].count(i) for i in set(assertion_subtests)): + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def execute_test_suite(suite): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite)) + for test in population: + if not isinstance(test,unittest.TestCase): + receipt['invalid_population'].append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + receipt['selected_ids'].append(canonical) + if (type(method) is not str or not callable(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + receipt['invalid_population'].append(canonical) + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + return _original(*args,**kwargs) + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + setattr(test,method,body) + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + return _original(*args,**kwargs) + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=unittest.TextTestRunner(stream=stream,verbosity=2,resultclass=PhaseResult).run(suite) + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=unittest.TestLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + value=execute_test_suite(suite) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + (root/filename).write_text(changed,encoding='utf-8') + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + try: + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError): + value={} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=classify_test_result(baseline_value,baseline.returncode) + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py new file mode 100644 index 000000000..93dd7b216 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py @@ -0,0 +1,147 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +class LifecycleHarnessRules(unittest.TestCase): + """Catch false kills from lifecycle assertions and incomplete body execution.""" + + def run_fixture(self, source): + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + for name in ('auditor.py','source_checks.py','canonical_lean.py'): + (root/name).write_text('fixture_source = True\n') + (root/'tests/test_auditor.py').write_text(source) + previous=mutation_test.HERE + try: + mutation_test.HERE=root + return mutation_test.run_one('fixture','source_checks.py',lambda s:s,root/'logs') + finally: + mutation_test.HERE=previous + + def test_body_assertion_kills_and_identity_survives(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body sentinel")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']) + + def test_setup_teardown_cleanup_assertions_cannot_kill(self): + fixtures=[ + ' def setUp(self): self.fail("setup")\n def test_one(self): pass\n', + ' def _callTestMethod(self, method): self.fail("dispatch hook")\n def test_one(self): pass\n', + ' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup")\n', + ' @classmethod\n def setUpClass(cls): raise AssertionError("class setup")\n def test_one(self): pass\n', + ' def test_one(self): pass\n @classmethod\n def tearDownClass(cls): raise AssertionError("class teardown")\n', + ' def test_one(self): self.addClassCleanup(self.fail,"class cleanup")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_errors_skips_expected_failures_and_subtests_are_ambiguous(self): + fixtures=[ + ' def test_one(self): raise RuntimeError("body error")\n', + ' @unittest.skip("skip")\n def test_one(self): pass\n', + ' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n', + ' @unittest.expectedFailure\n def test_one(self): pass\n', + ' def setUp(self):\n with self.subTest(x=1): self.fail("setup subtest")\n def test_one(self): pass\n', + ' def test_one(self):\n with self.subTest(x=1): raise RuntimeError("subtest error")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_body_scoped_subtests_have_exact_parent_assertion_events(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n for x in (1,2):\n with self.subTest(x=x): self.fail("subtest body")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['subtests'],2) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']*2) + self.assertEqual(killed['tests']['body_finished_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + + def test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected(self): + fixtures=[ + 'import unittest\ndef load_tests(loader, tests, pattern): return unittest.TestSuite()\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n', + 'raise RuntimeError("import sentinel")\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n', + 'import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n', + ] + for fixture in fixtures: + with self.subTest(fixture=fixture): + value=self.run_fixture(fixture) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_missing_forged_or_noninteger_receipts_fail_closed(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n') + trusted=value.get('tests',{}) + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + for field in ('receipt_schema','selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids','invalid_population','subtests','subtest_events','lifecycle_failures'): + with self.subTest(missing=field): + forged=copy.deepcopy(trusted);forged.pop(field,None) + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field in ('tests_run','assertion_failures','errors','skipped','expected_failures','unexpected_successes','lifecycle_failures','subtests'): + with self.subTest(noninteger=field): + forged=copy.deepcopy(trusted);forged[field]=True + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field, replacement in [('started_ids',[]),('body_finished_ids',[]),('body_entered_ids',['test_auditor.C.test_one']*2),('body_assertion_ids',['forged.method']),('selected_ids',['test_auditor.C.test_one']*2),('invalid_population',['forged']),('lifecycle_failures',1),('subtests',1),('successful',1)]: + with self.subTest(forged=field): + forged=copy.deepcopy(trusted);forged[field]=replacement + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + subtest=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): self.fail("body")\n')['tests'] + for replacement in ({'id':'test_auditor.C.test_one','phase':'cleanup','outcome':'assertion'}, + {'id':'forged.method','phase':'body','outcome':'assertion'}, + {'id':'test_auditor.C.test_one','phase':'body','outcome':'error'}): + with self.subTest(subtest_event=replacement): + forged=copy.deepcopy(subtest);forged['subtest_events']=[replacement] + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-assertion-event-provenance.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-assertion-event-provenance.log new file mode 100644 index 000000000..aa92440a6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-assertion-event-provenance.log @@ -0,0 +1,17 @@ +test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) ... FAIL + +====================================================================== +FAIL: test_assertion_event_provenance_rejects_duplicate_direct_failures (test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 126, in test_assertion_event_provenance_rejects_duplicate_direct_failures + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 1 test in 0.150s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-body-scoped-subtests.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-body-scoped-subtests.log new file mode 100644 index 000000000..30fff9540 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-body-scoped-subtests.log @@ -0,0 +1,58 @@ +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ok +test_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) ... FAIL +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... ok +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... + test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n') ... FAIL + test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): pass\n') ... FAIL +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... + test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='subtest_events') ... FAIL +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... ok + +====================================================================== +FAIL: test_body_scoped_subtests_have_exact_parent_assertion_events (test_mutation_runner.LifecycleHarnessRules.test_body_scoped_subtests_have_exact_parent_assertion_events) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 98, in test_body_scoped_subtests_have_exact_parent_assertion_events + self.assertEqual(passed['outcome'],'SURVIVED',passed) +AssertionError: 'ERROR' != 'SURVIVED' +- ERROR ++ SURVIVED + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'ERROR', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 1, 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmplmvi6e5h/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'} + +====================================================================== +FAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 94, in test_errors_skips_expected_failures_and_subtests_are_ambiguous + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 178, in body\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/tmp/cbz-layer-a-mutant-jdyshgcl/tests/test_auditor.py", line 4, in test_one\n def test_one(self): self.fail("expected")\n ^^^^^^^^^^^^^^^^^^^^^\nAssertionError: expected\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp7vqpeq93/logs/fixture.log', 'log_sha256': '0b9f08f22b1d3270dfe6b2859ea7f42654ef8ea1049f8d3bb09a0c35a00bca30'} + +====================================================================== +FAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): pass\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 94, in test_errors_skips_expected_failures_and_subtests_are_ambiguous + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'SURVIVED', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': [], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'failure_events': [], 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': True, 'log': 'test_one (test_auditor.C.test_one) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nOK\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp8sy99y8h/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'} + +====================================================================== +FAIL: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) (missing='subtest_events') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 125, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + + +---------------------------------------------------------------------- +Ran 6 tests in 1.596s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-external-population.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-external-population.log new file mode 100644 index 000000000..0f1760fcc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-external-population.log @@ -0,0 +1,17 @@ +test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) ... FAIL + +====================================================================== +FAIL: test_expected_population_is_bound_before_mutation (test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 122, in test_expected_population_is_bound_before_mutation + self.assertEqual(result['outcome'],'ERROR',result) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_two'], 'started_ids': ['test_auditor.C.test_two'], 'finished_ids': ['test_auditor.C.test_two'], 'body_entered_ids': ['test_auditor.C.test_two'], 'body_finished_ids': ['test_auditor.C.test_two'], 'body_assertion_ids': ['test_auditor.C.test_two'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_two', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_two (test_auditor.C.test_two) ... FAIL\n\n======================================================================\nFAIL: test_two (test_auditor.C.test_two)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 194, in body\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/tmp/cbz-layer-a-mutant-_z6i80_b/tests/test_auditor.py", line 5, in test_two\n def test_two(self): self.fail("wrong population")\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: wrong population\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n'}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '2ab973bdbb4c00686ec454b8bac6bec2513fe6ed5c21f9ebb1b81eb137203350', 'log': '/tmp/tmpggk2g9at/logs/fixture.log', 'log_sha256': 'b9bf7876e96c393a82d85ad7ed9bf2435c3a5aeb0d2a0a0e34a5596b4d03ce7f'} + +---------------------------------------------------------------------- +Ran 1 test in 0.084s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-focused-tests.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-focused-tests.log new file mode 100644 index 000000000..00c9f4ca8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-focused-tests.log @@ -0,0 +1,148 @@ +test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) ... ERROR +test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) ... + test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n') ... FAIL + test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n') ... FAIL +test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) ... + test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.skip("skip")\n def test_one(self): pass\n') ... FAIL + test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n') ... FAIL + test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' def test_one(self):\n with self.subTest(x=1): pass\n') ... FAIL + test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' def test_one(self):\n with self.subTest(x=1): self.fail("subtest")\n') ... FAIL +test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) ... ERROR +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self.fail("setup")\n def test_one(self): pass\n') ... FAIL + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n') ... FAIL + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,"cleanup")\n') ... FAIL + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n') ... FAIL + +====================================================================== +ERROR: test_body_assertion_kills_and_identity_survives (test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 64, in test_body_assertion_kills_and_identity_survives + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + ~~~~~~^^^^^^^^^ +KeyError: 'tests' + +====================================================================== +ERROR: test_missing_forged_or_noninteger_receipts_fail_closed (test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 112, in test_missing_forged_or_noninteger_receipts_fail_closed + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: module 'mutation_test' has no attribute 'classify_test_result'. Did you mean: 'parse_test_result'? + +====================================================================== +FAIL: test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 106, in test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 2, 'assertion_failures': 2, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpjbsjfl34/logs/fixture.log', 'log_sha256': '5c3511a042faa87303f33f909fb808fdb5bc236738af6868aaa743e85d1808ea'} + +====================================================================== +FAIL: test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected (test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected) (fixture='import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 106, in test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp2686u8jo/logs/fixture.log', 'log_sha256': 'a2b7df5d7a014f4f9cc0be8ba37b1968ae466ca87ea1af5930327a191ec2ec7c'} + +====================================================================== +FAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.skip("skip")\n def test_one(self): pass\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 94, in test_errors_skips_expected_failures_and_subtests_are_ambiguous + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'SURVIVED', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp0zfwad_c/logs/fixture.log', 'log_sha256': '710078a06d09928ad85ac5188699cd2589d6932d75791054283ed350626b8ff5'} + +====================================================================== +FAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 94, in test_errors_skips_expected_failures_and_subtests_are_ambiguous + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'SURVIVED', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpecdpiffk/logs/fixture.log', 'log_sha256': '2581a9395cac27a59187d8c7ea87eff9ed323b16823d222855c67aadc97bd418'} + +====================================================================== +FAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' def test_one(self):\n with self.subTest(x=1): pass\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 94, in test_errors_skips_expected_failures_and_subtests_are_ambiguous + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'SURVIVED' != 'ERROR' +- SURVIVED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'SURVIVED', 'returncode': 0, 'tests_run': 1, 'assertion_failures': 0, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpijxwur4r/logs/fixture.log', 'log_sha256': 'c8197fbd8cb083e8802892806bc1fc4b8d28a2b00eac033daae03fd440b16de2'} + +====================================================================== +FAIL: test_errors_skips_expected_failures_and_subtests_are_ambiguous (test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous) (body=' def test_one(self):\n with self.subTest(x=1): self.fail("subtest")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 94, in test_errors_skips_expected_failures_and_subtests_are_ambiguous + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpg1gcridt/logs/fixture.log', 'log_sha256': 'e614fe6248d9115e2f057c3d159df21a663b9fc98f2f74fc11c5d0dff9ee0241'} + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self.fail("setup")\n def test_one(self): pass\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 80, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpqyacegyo/logs/fixture.log', 'log_sha256': 'b5a491b5ff2a906ea0284df5bb8d4ae49a4d7ac2bc28a1ce6f2e8945a921503d'} + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 80, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpy94f7h7k/logs/fixture.log', 'log_sha256': '1f42fa9447ee134e3514e73f200f576c34c40537befab1d64cd781069e6cf4a0'} + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,"cleanup")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 80, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmphvjct7r5/logs/fixture.log', 'log_sha256': 'ba8d925cd49a24c82257532f33433ff69529631b5acbbb36957a0b140feb39da'} + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 80, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 2, 'errors': 0, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpolwd06ya/logs/fixture.log', 'log_sha256': 'fe9682758d23507db40af4a557dc4b438ef250cb0b20c64486eaa05f82a322f4'} + +---------------------------------------------------------------------- +Ran 5 tests in 1.183s + +FAILED (failures=10, errors=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log new file mode 100644 index 000000000..ee1696dba --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log @@ -0,0 +1,30 @@ +test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) ... + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n') ... FAIL + test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n') ... FAIL + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 83, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 227, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: setup called body\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_one'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_one'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmpef89f2pg/logs/fixture.log', 'log_sha256': '5f62c639dca1f6cc1b5f4a9a8a11c8a7450fb22a9ae1c1397da7c74e528ff18e'} + +====================================================================== +FAIL: test_setup_teardown_cleanup_assertions_cannot_kill (test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill) (body=' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/tests/test_mutation_runner.py", line 83, in test_setup_teardown_cleanup_assertions_cannot_kill + self.assertEqual(value['outcome'],'ERROR',value) +AssertionError: 'KILLED' != 'ERROR' +- KILLED ++ ERROR + : {'name': 'fixture', 'file': 'source_checks.py', 'outcome': 'KILLED', 'returncode': 1, 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'tests': {'receipt_schema': 'cbz-unittest-lifecycle-v1', 'selected_ids': ['test_auditor.C.test_one'], 'started_ids': ['test_auditor.C.test_one'], 'finished_ids': ['test_auditor.C.test_one'], 'body_entered_ids': ['test_auditor.C.test_one'], 'body_finished_ids': ['test_auditor.C.test_one'], 'body_assertion_ids': ['test_auditor.C.test_one'], 'invalid_population': [], 'lifecycle_failures': 0, 'subtests': 0, 'subtest_events': [], 'failure_events': [{'id': 'test_auditor.C.test_one', 'phase': 'body', 'kind': 'assertion'}], 'tests_run': 1, 'assertion_failures': 1, 'errors': 0, 'skipped': 0, 'expected_failures': 0, 'unexpected_successes': 0, 'successful': False, 'log': 'test_one (test_auditor.C.test_one) ... FAIL\n\n======================================================================\nFAIL: test_one (test_auditor.C.test_one)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/workspace/cbz-0/delivery/mutation-lifecycle-fix/work/layer_a/mutation_test.py", line 227, in lifecycle\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: setup called dispatch\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (failures=1)\n'}, 'expected_ids': ['test_auditor.C.test_one'], 'pristine_population': {'receipt_schema': 'cbz-unittest-population-v1', 'selected_ids': ['test_auditor.C.test_one'], 'invalid_population': []}, 'original_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'mutated_sha256': '6023a0f8f40b2fdd390fcae068b4839bf6885551df997b37927f779eb022d6cf', 'log': '/tmp/tmp85toiqow/logs/fixture.log', 'log_sha256': '00f8fcd15e7504d2ac7a32dcc27257c5a92986103687e0f40b3ce6071aa2727d'} + +---------------------------------------------------------------------- +Ran 1 test in 1.508s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-setup-false-kill.json b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-setup-false-kill.json new file mode 100644 index 000000000..29a747fb1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/red-setup-false-kill.json @@ -0,0 +1,13 @@ +{ + "name": "benign-setup-assertion", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "original_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "mutated_sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c", + "log": "/workspace/cbz-0/delivery/mutation-lifecycle-fix/evidence/layer_a/benign-setup-assertion.log", + "log_sha256": "4fafb267b998b6df5671ea143ed5768aaaeec2795c4ca0b315e07439747b335b" +} diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py new file mode 100644 index 000000000..08dbb7398 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py @@ -0,0 +1,40 @@ +"""Targeted actual runner-source mutants, graded by unchanged phase-aware runner.""" +from pathlib import Path +import hashlib,importlib.util,json,os,subprocess,sys,tempfile +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1]/'work/layer_a' +runner=ROOT/'mutation_test.py' +spec=importlib.util.spec_from_file_location('trusted_lifecycle_runner',runner) +trusted=importlib.util.module_from_spec(spec);spec.loader.exec_module(trusted) +source=runner.read_text() +malformed='test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed' +lifecycle='test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill' +mutants=[ + ('allow-duplicate-direct-assertion-events','if len(direct)!=len(set(direct)):','if False:','test_mutation_runner.LifecycleHarnessRules.test_assertion_event_provenance_rejects_duplicate_direct_failures'), + ('allow-final-duplicate-population-receipt',"if key != 'body_assertion_ids' and len(items) != len(set(items)):",'if False:',malformed), +] + +receipt_path=HERE/'final-accounting-source-controls.json' +prior={r['name']:r for r in json.loads(receipt_path.read_text())['results']} if receipt_path.exists() else {} +records=[] +for name,before,after,selection in mutants: + assert source.count(before)==1,(name,source.count(before)) + changed=source.replace(before,after,1) + existing=prior.get(name) + if (existing and existing['outcome']=='KILLED' and existing['original_sha256']==hashlib.sha256(source.encode()).hexdigest() and existing['mutated_sha256']==hashlib.sha256(changed.encode()).hexdigest() and existing['selected_test']==selection): + records.append(existing);print(name,'REUSED KILLED',flush=True);continue + with tempfile.TemporaryDirectory(prefix='cbz-layer-lifecycle-control-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + (root/'mutation_test.py').write_text(changed) + (root/'tests/test_mutation_runner.py').write_bytes((ROOT/'tests/test_mutation_runner.py').read_bytes()) + result=root/'trusted-result.json' + command=[sys.executable,'-B','-S',str(runner),'--internal-test-runner','--output',str(result),'--test-root',str(root/'tests'),'--test',selection] + env=dict(os.environ);env.pop('PYTHONPATH',None) + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=30) + value=json.loads(result.read_text()) if result.is_file() else {} + outcome=trusted.classify_test_result(value,p.returncode) + log=HERE/(name+'.log');log.write_text(p.stdout) + record={'name':name,'file':'mutation_test.py','original_sha256':hashlib.sha256(source.encode()).hexdigest(),'mutated_sha256':hashlib.sha256(changed.encode()).hexdigest(),'selected_test':selection,'outcome':outcome,'returncode':p.returncode,'tests':value,'log':str(log),'log_sha256':hashlib.sha256(p.stdout.encode()).hexdigest()} + records.append(record);print(name,outcome,flush=True) +(HERE/'final-accounting-source-controls.json').write_text(json.dumps({'scope':'changed lifecycle harness safeguards only','planned':len(mutants),'executed':len(records),'killed':sum(r['outcome']=='KILLED' for r in records),'results':records},sort_keys=True,indent=2)+'\n') +assert all(r['outcome']=='KILLED' for r in records) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-harness-source-controls.py b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-harness-source-controls.py new file mode 100644 index 000000000..92fd5f82d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-harness-source-controls.py @@ -0,0 +1,47 @@ +"""Targeted actual runner-source mutants, graded by unchanged phase-aware runner.""" +from pathlib import Path +import hashlib,importlib.util,json,os,subprocess,sys,tempfile +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1]/'work/layer_a' +runner=ROOT/'mutation_test.py' +spec=importlib.util.spec_from_file_location('trusted_lifecycle_runner',runner) +trusted=importlib.util.module_from_spec(spec);spec.loader.exec_module(trusted) +source=runner.read_text() +malformed='test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed' +lifecycle='test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill' +mutants=[ + ('drop-schema-requirement',"if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1':","if False:",malformed), + ('allow-boolean-counts',"type(value.get(k)) is not int","type(value.get(k)) not in (int,bool)",malformed), + ('ignore-completed-population',"if any(value[k] != selected for k in lists[1:5]):","if False:",malformed), + ('allow-duplicate-method-ids',"if key != 'body_assertion_ids' and len(items) != len(set(items)):","if False:",'test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected'), + ('credit-lifecycle-assertions',"is_body=(phase == 'body' and issubclass(err[0],AssertionError)\n and err[1] is getattr(test,'_cbz_body_exception',None))","is_body=issubclass(err[0],AssertionError)",lifecycle), + ('credit-synthetic-body-callback',"\n and err[1] is getattr(test,'_cbz_body_exception',None)","",'test_mutation_runner.LifecycleHarnessRules.test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected'), + ('ignore-subtest-phase'," or event['phase'] != 'body'","",malformed), + ('ignore-subtest-event-count'," or value['subtests'] != len(events)","",malformed), + ('lose-method-decorators',' @functools.wraps(original)\n','', 'test_mutation_runner.LifecycleHarnessRules.test_errors_skips_expected_failures_and_subtests_are_ambiguous'), + ('drop-body-entry-accounting'," receipt['body_entered_ids'].append(_id)\n","",'test_mutation_runner.LifecycleHarnessRules.test_body_assertion_kills_and_identity_survives'), +] +receipt_path=HERE/'harness-source-controls.json' +prior={r['name']:r for r in json.loads(receipt_path.read_text())['results']} if receipt_path.exists() else {} +records=[] +for name,before,after,selection in mutants: + assert source.count(before)==1,(name,source.count(before)) + changed=source.replace(before,after,1) + existing=prior.get(name) + if (existing and existing['outcome']=='KILLED' and existing['original_sha256']==hashlib.sha256(source.encode()).hexdigest() and existing['mutated_sha256']==hashlib.sha256(changed.encode()).hexdigest() and existing['selected_test']==selection): + records.append(existing);print(name,'REUSED KILLED',flush=True);continue + with tempfile.TemporaryDirectory(prefix='cbz-layer-lifecycle-control-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + (root/'mutation_test.py').write_text(changed) + (root/'tests/test_mutation_runner.py').write_bytes((ROOT/'tests/test_mutation_runner.py').read_bytes()) + result=root/'trusted-result.json' + command=[sys.executable,'-B','-S',str(runner),'--internal-test-runner','--output',str(result),'--test-root',str(root/'tests'),'--test',selection] + env=dict(os.environ);env.pop('PYTHONPATH',None) + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=30) + value=json.loads(result.read_text()) if result.is_file() else {} + outcome=trusted.classify_test_result(value,p.returncode) + log=HERE/(name+'.log');log.write_text(p.stdout) + record={'name':name,'file':'mutation_test.py','original_sha256':hashlib.sha256(source.encode()).hexdigest(),'mutated_sha256':hashlib.sha256(changed.encode()).hexdigest(),'selected_test':selection,'outcome':outcome,'returncode':p.returncode,'tests':value,'log':str(log),'log_sha256':hashlib.sha256(p.stdout.encode()).hexdigest()} + records.append(record);print(name,outcome,flush=True) +(HERE/'harness-source-controls.json').write_text(json.dumps({'scope':'changed lifecycle harness safeguards only','planned':len(mutants),'executed':len(records),'killed':sum(r['outcome']=='KILLED' for r in records),'results':records},sort_keys=True,indent=2)+'\n') +assert all(r['outcome']=='KILLED' for r in records) diff --git a/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py new file mode 100644 index 000000000..926be1a5f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py @@ -0,0 +1,41 @@ +"""Targeted actual runner-source mutants, graded by unchanged phase-aware runner.""" +from pathlib import Path +import hashlib,importlib.util,json,os,subprocess,sys,tempfile +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1]/'work/layer_a' +runner=ROOT/'mutation_test.py' +spec=importlib.util.spec_from_file_location('trusted_lifecycle_runner',runner) +trusted=importlib.util.module_from_spec(spec);spec.loader.exec_module(trusted) +source=runner.read_text() +malformed='test_mutation_runner.LifecycleHarnessRules.test_missing_forged_or_noninteger_receipts_fail_closed' +lifecycle='test_mutation_runner.LifecycleHarnessRules.test_setup_teardown_cleanup_assertions_cannot_kill' +mutants=[ + ('drop-external-population-binding','if expected_ids is not None:','if False:','test_mutation_runner.LifecycleHarnessRules.test_expected_population_is_bound_before_mutation'), + ('allow-lifecycle-body-invocation','if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0):','if False:',lifecycle), + ('allow-complete-duplicate-receipt',"if key != 'body_assertion_ids' and len(items) != len(set(items)):",'if False:',malformed), +] + +receipt_path=HERE/'new-obligation-source-controls.json' +prior={r['name']:r for r in json.loads(receipt_path.read_text())['results']} if receipt_path.exists() else {} +records=[] +for name,before,after,selection in mutants: + assert source.count(before)==1,(name,source.count(before)) + changed=source.replace(before,after,1) + existing=prior.get(name) + if (existing and existing['outcome']=='KILLED' and existing['original_sha256']==hashlib.sha256(source.encode()).hexdigest() and existing['mutated_sha256']==hashlib.sha256(changed.encode()).hexdigest() and existing['selected_test']==selection): + records.append(existing);print(name,'REUSED KILLED',flush=True);continue + with tempfile.TemporaryDirectory(prefix='cbz-layer-lifecycle-control-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + (root/'mutation_test.py').write_text(changed) + (root/'tests/test_mutation_runner.py').write_bytes((ROOT/'tests/test_mutation_runner.py').read_bytes()) + result=root/'trusted-result.json' + command=[sys.executable,'-B','-S',str(runner),'--internal-test-runner','--output',str(result),'--test-root',str(root/'tests'),'--test',selection] + env=dict(os.environ);env.pop('PYTHONPATH',None) + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=30) + value=json.loads(result.read_text()) if result.is_file() else {} + outcome=trusted.classify_test_result(value,p.returncode) + log=HERE/(name+'.log');log.write_text(p.stdout) + record={'name':name,'file':'mutation_test.py','original_sha256':hashlib.sha256(source.encode()).hexdigest(),'mutated_sha256':hashlib.sha256(changed.encode()).hexdigest(),'selected_test':selection,'outcome':outcome,'returncode':p.returncode,'tests':value,'log':str(log),'log_sha256':hashlib.sha256(p.stdout.encode()).hexdigest()} + records.append(record);print(name,outcome,flush=True) +(HERE/'new-obligation-source-controls.json').write_text(json.dumps({'scope':'changed lifecycle harness safeguards only','planned':len(mutants),'executed':len(records),'killed':sum(r['outcome']=='KILLED' for r in records),'results':records},sort_keys=True,indent=2)+'\n') +assert all(r['outcome']=='KILLED' for r in records) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-arbitrary-foundation-set.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-arbitrary-foundation-set.log new file mode 100644 index 000000000..4e0289bd7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-arbitrary-foundation-set.log @@ -0,0 +1,66 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpfdl3ldxj', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpfdl3ldxj', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8y3c969b/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '3360615efa09798b7f2de4c905c88059d1cf0bd0affb2ff2b8dfdb7498c293ef', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8y3c969b/tests/test_auditor.py", line 243, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FOUNDATION_PROFILE',self.codes()) +AssertionError: 'FOUNDATION_PROFILE' not found in {'LEAN_PLACEHOLDER', 'FILE_HASH'} + +---------------------------------------------------------------------- +Ran 41 tests in 0.205s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-incomplete-classification.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-incomplete-classification.log new file mode 100644 index 000000000..3834b3960 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-incomplete-classification.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8_y5c968/tests/test_auditor.py", line 208, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.195s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-negative-dynamic-powers.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-negative-dynamic-powers.log new file mode 100644 index 000000000..ec575c6f0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-negative-dynamic-powers.log @@ -0,0 +1,64 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fm9ez4en/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fm9ez4en/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.208s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-protected-name-rebinding.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-protected-name-rebinding.log new file mode 100644 index 000000000..41aec7b38 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-protected-name-rebinding.log @@ -0,0 +1,55 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2_z4hgfa/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in {'PY_INEXACT', 'PY_AST_GAP'} + +---------------------------------------------------------------------- +Ran 41 tests in 0.203s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-python-division.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-python-division.log new file mode 100644 index 000000000..0e806fd81 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-python-division.log @@ -0,0 +1,55 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ujb9qpaj/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.202s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-quarantine-dependency.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-quarantine-dependency.log new file mode 100644 index 000000000..5a493df8e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-quarantine-dependency.log @@ -0,0 +1,64 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-38cq7egw/tests/test_auditor.py", line 309, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-38cq7egw/tests/test_auditor.py", line 324, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 41 tests in 0.206s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-reflective-attributes.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-reflective-attributes.log new file mode 100644 index 000000000..226bb0361 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-reflective-attributes.log @@ -0,0 +1,55 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-waul3rcv/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.205s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-relabeled-source.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-relabeled-source.log new file mode 100644 index 000000000..1e545d2be --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-relabeled-source.log @@ -0,0 +1,62 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l21883f8/tests/test_auditor.py", line 389, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l21883f8/tests/test_auditor.py", line 267, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.207s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-symlink-files.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-symlink-files.log new file mode 100644 index 000000000..cc1242e41 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-symlink-files.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-j51p6xnu/tests/test_auditor.py", line 263, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.204s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unbound-nonvacuity.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unbound-nonvacuity.log new file mode 100644 index 000000000..e8847a573 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unbound-nonvacuity.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-teavf88c/tests/test_auditor.py", line 358, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.208s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unknown-classification.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unknown-classification.log new file mode 100644 index 000000000..ad6b1c9ab --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unknown-classification.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gjijv3bo/tests/test_auditor.py", line 211, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.206s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unknown-python-calls.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unknown-python-calls.log new file mode 100644 index 000000000..189dc8fe6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unknown-python-calls.log @@ -0,0 +1,100 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-sju89zse/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-sju89zse/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-sju89zse/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-sju89zse/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-sju89zse/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-sju89zse/tests/test_auditor.py", line 116, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 41 tests in 0.206s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unpinned-external-source.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unpinned-external-source.log new file mode 100644 index 000000000..24600b940 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unpinned-external-source.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yn5vfv_o/tests/test_auditor.py", line 328, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in {'VACUITY_COVERAGE', 'LEAN_AXIOM'} + +---------------------------------------------------------------------- +Ran 41 tests in 0.197s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unreadable-files.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unreadable-files.log new file mode 100644 index 000000000..dfd870b93 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/allow-unreadable-files.log @@ -0,0 +1,46 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +---------------------------------------------------------------------- +Ran 41 tests in 0.197s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/always-report-static-pass.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/always-report-static-pass.log new file mode 100644 index 000000000..befcd6d6f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/always-report-static-pass.log @@ -0,0 +1,222 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 417, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertEqual(p.returncode,1,p.stderr+p.stdout) +AssertionError: 0 != 1 : { + "claim": "bounded static rules only; not CBZ-0 or mathematical proof closure", + "classified_count": 1, + "fatal_gaps": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "files": [ + { + "actual_sha256": null, + "expected_sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df", + "kind": "documentation", + "path": "readme.txt", + "root": "r" + } + ], + "findings": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "inventory_sha256": { + "r": "091289b475686cf611996d5a2a5654097ef7ffe09099b2b5c02e0b276254cc5c" + }, + "manifest_file_sha256": "f9f4a083508f34e9650ad4886446f19d7def05158ba9de97e3a65411089b427d", + "manifest_sha256": "c26f6468acd067be32746e753d608f951763421a4c15f727474927c5080621a8", + "remaining_obligations": [ + { + "gate": "G2", + "required_work": "All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound." + }, + { + "gate": "G3", + "required_work": "Actual Lean build and no sorry warnings; source scanning does not execute Lean." + }, + { + "gate": "G4", + "required_work": "Kernel recheck every closed declaration and all bound binary proof objects." + }, + { + "gate": "G5", + "required_work": "Execute retained regression tests; source profile does not establish runtime success or historical test retention." + }, + { + "gate": "G7", + "required_work": "Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency." + }, + { + "gate": "G8", + "required_work": "Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength." + }, + { + "gate": "G10", + "required_work": "Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git." + } + ], + "result": "STATIC_PASS", + "retained_count": 0, + "retained_findings": [], + "scanned_count": 0, + "schema_version": 1, + "vacuity_observations": [] +} + + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '00df59b0ab53a1684d4c1c1c72a10d5e8ae43f57de9968a75c8177012ead9851', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd5fe1e5561dabd1058a714dc0325a2036a4aa8b62ab8c85daa915c4e5f4f9aff', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'fatal_gaps': [{'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '9ebd6fd34090651cbc4972fcd9c7d7768ca4e3b75e22742ed905d5cab8e25431', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'MODULE_ALIAS', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'module identity must be a string'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f0dffa5119ea3f8dae3268be9a81aa403038cb547818e628ad2e39ce77a80bc9', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'content differs from manifest pin'}, {'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'missing or malformed SHA256'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': None, 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '83b30ab93ca281ad096bf3a15f51332e19b44b7e22501f89d53ca0eddd35834e', 'inventory_sha256': {}, 'classified_count': 0, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '317043fa243e4c8b09d5c93467bbd171bd857e1065bd32e7eaa10880db14d3ea', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b10d3f2c47b732fee164d4b76ed689eaa40f5d73a8c5d5706898adf088d7b1d9', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FOUNDATION_PROFILE', 'root': '', 'path': '', 'line': 0, 'detail': 'approved imported axiom set must be exactly propext, Classical.choice, Quot.sound'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpm8wcrfny', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-9fuwpl7k/tests/test_auditor.py", line 384, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'be2a9509d25a6f723a66d9aa991ec6665cdc18ce2c7719c61aebca2172ce1521', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +---------------------------------------------------------------------- +Ran 41 tests in 0.112s + +FAILED (failures=9) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/baseline.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/baseline.log new file mode 100644 index 000000000..7906898d6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/baseline.log @@ -0,0 +1,49 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 44 tests in 0.848s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-axiom-category.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-axiom-category.log new file mode 100644 index 000000000..b88cae30f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-axiom-category.log @@ -0,0 +1,99 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4xlw5xsv/tests/test_auditor.py", line 330, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4xlw5xsv/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4xlw5xsv/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4xlw5xsv/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4xlw5xsv/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4xlw5xsv/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.196s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-content-hash-check.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-content-hash-check.log new file mode 100644 index 000000000..7da30a282 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-content-hash-check.log @@ -0,0 +1,62 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jex3v2c4/tests/test_auditor.py", line 404, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jex3v2c4/tests/test_auditor.py", line 241, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in {'LEAN_PLACEHOLDER'} + +---------------------------------------------------------------------- +Ran 41 tests in 0.199s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-exact-python-profile.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-exact-python-profile.log new file mode 100644 index 000000000..d143111cf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-exact-python-profile.log @@ -0,0 +1,289 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 126, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 116, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 116, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 116, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 116, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 116, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 116, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e8ahistt/tests/test_auditor.py", line 116, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 41 tests in 0.212s + +FAILED (failures=27) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-float-literal-category.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-float-literal-category.log new file mode 100644 index 000000000..32e3ebf72 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-float-literal-category.log @@ -0,0 +1,64 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w7v_x1ma/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w7v_x1ma/tests/test_auditor.py", line 110, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.198s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-macro-gap-category.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-macro-gap-category.log new file mode 100644 index 000000000..86dcba33d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-macro-gap-category.log @@ -0,0 +1,91 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgei1tvl/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgei1tvl/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgei1tvl/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgei1tvl/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xgei1tvl/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.208s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-native-category.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-native-category.log new file mode 100644 index 000000000..52beee3d2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-native-category.log @@ -0,0 +1,108 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-10qq897m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-10qq897m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-10qq897m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-10qq897m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-10qq897m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-10qq897m/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-10qq897m/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.195s + +FAILED (failures=7) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-placeholder-category.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-placeholder-category.log new file mode 100644 index 000000000..d7b9f5926 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/disable-placeholder-category.log @@ -0,0 +1,127 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 203, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 404, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 288, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '04cebdd4b57737a9662b2281e2abe026810cd28ecb1286faeb85b2e8f6b06179', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 296, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '145b0aa19cb00bc9fb70a8589572c58217154dbc4764d5c4055cd83658bcd457', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 139, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i40fvghi/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.197s + +FAILED (failures=9) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/drop-lean-dependencies.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/drop-lean-dependencies.log new file mode 100644 index 000000000..80d700eea --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/drop-lean-dependencies.log @@ -0,0 +1,79 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s9yaavgz/tests/test_auditor.py", line 309, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Top.lean' +'Mid.lean' + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s9yaavgz/tests/test_auditor.py", line 313, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s9yaavgz/tests/test_auditor.py", line 75, in test_lean_explicit_imports_are_extracted_across_lines + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) +AssertionError: Lists differ: [] != ['Closed.Base', 'Closed.A', 'Closed.B'] + +Second list contains 3 additional elements. +First extra element 0: +'Closed.Base' + +- [] ++ ['Closed.Base', 'Closed.A', 'Closed.B'] + +---------------------------------------------------------------------- +Ran 41 tests in 0.196s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/empty-final-findings.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/empty-final-findings.log new file mode 100644 index 000000000..4c20e76cd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/empty-final-findings.log @@ -0,0 +1,395 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... FAIL +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... FAIL +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 259, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 259, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 259, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 259, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 259, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 259, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 259, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 263, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 389, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 334, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 418, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 309, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 219, in test_duplicate_scope_and_unknown_schema_keys_are_rejected + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 203, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 225, in test_empty_scope_cannot_manufacture_green + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 273, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 328, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 404, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 385, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 385, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 385, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 385, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 385, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 385, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 385, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpzvwg_n94', 'tree_id': 'fixture-immutable-tree', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 385, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 230, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_MISSING',self.codes()) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 399, in test_modules_cannot_point_to_documentation_in_place_of_source + self.assertIn('MODULE_ALIAS',self.codes()) +AssertionError: 'MODULE_ALIAS' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 292, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 358, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 241, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 324, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 298, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 267, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 365, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 208, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 313, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-e2zgbwb9/tests/test_auditor.py", line 347, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.108s + +FAILED (failures=41) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/empty-lean-findings.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/empty-lean-findings.log new file mode 100644 index 000000000..5c988ae1b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/empty-lean-findings.log @@ -0,0 +1,324 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 203, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 330, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 404, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 250, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 288, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '608c761439830e2638225bd6e176c6b8d45258792c7d0fcf9664e4e19ba371f2', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 296, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e228f12b82551023d5c24c94b832edf52984006b4579db7772c37f63605640c7', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 139, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-382haqz4/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.203s + +FAILED (failures=31) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-contradictory-hypotheses.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-contradictory-hypotheses.log new file mode 100644 index 000000000..fa9f6748b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-contradictory-hypotheses.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kis9dr5t/tests/test_auditor.py", line 347, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.195s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-quarantine-boundary.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-quarantine-boundary.log new file mode 100644 index 000000000..4787f1bf7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-quarantine-boundary.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-u5vyui9z/tests/test_auditor.py", line 298, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.204s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-retained-finding-counts.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-retained-finding-counts.log new file mode 100644 index 000000000..77ef54f3f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/ignore-retained-finding-counts.log @@ -0,0 +1,62 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gf8_eelx/tests/test_auditor.py", line 292, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-gf8_eelx/tests/test_auditor.py", line 301, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.218s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-all-but-first-file.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-all-but-first-file.log new file mode 100644 index 000000000..16976827f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-all-but-first-file.log @@ -0,0 +1,126 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... FAIL +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 263, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 341, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '928e229a0a7756d069e7154af62f3a70fe1563300e34e567c8cfbf461756a9ec', 'inventory_sha256': {'r': 'aae11728cb74dfd305acf778f64540681ea5573c80f1c2e71d1d1861e950f8b8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G2 subject evidence'}, {'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G4 subject evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.olean', 'kind': 'binary_proof', 'expected_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a', 'actual_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a'}]} + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 309, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 194, in test_complete_manifest_counts_every_file_and_is_deterministic + self.assertEqual(r['classified_count'],2) +AssertionError: 1 != 2 + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 203, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 277, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e474a912761ff18bdcf650976a0f137753fc0691794c1dd230999a968e6b58fa', 'inventory_sha256': {'r': '9b623248b41671d0cda28e974cdcb807e53e9b29dcc252483131d7426ab650c5'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MODULE_ALIAS', 'root': '', 'path': '', 'line': 0, 'detail': 'module map points outside classified scope: python:timer'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e', 'actual_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e'}]} + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 324, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 365, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-hy_9ryo5/tests/test_auditor.py", line 318, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'MODULE_ALIAS', 'IMPORT_UNRESOLVED'} + +---------------------------------------------------------------------- +Ran 41 tests in 0.201s + +FAILED (failures=9) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-binary-proof-bindings.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-binary-proof-bindings.log new file mode 100644 index 000000000..4bc427645 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-binary-proof-bindings.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-jhqyx0g9/tests/test_auditor.py", line 334, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.201s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-nonmath-review.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-nonmath-review.log new file mode 100644 index 000000000..6aae8ea49 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-nonmath-review.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-clnmrhav/tests/test_auditor.py", line 273, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.198s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-status-evidence.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-status-evidence.log new file mode 100644 index 000000000..141edc3c0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-status-evidence.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-504wop27/tests/test_auditor.py", line 365, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.202s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-unreadable-file.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-unreadable-file.log new file mode 100644 index 000000000..3e0ab1e46 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-unreadable-file.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-893dr0j8/tests/test_auditor.py", line 233, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 41 tests in 0.200s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-vacuity-coverage.log b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-vacuity-coverage.log new file mode 100644 index 000000000..2eecf4415 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-logs/skip-vacuity-coverage.log @@ -0,0 +1,54 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-asdc4jne/tests/test_auditor.py", line 349, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_COVERAGE',self.codes()) +AssertionError: 'VACUITY_COVERAGE' not found in {'VACUITY_ANNOTATION'} + +---------------------------------------------------------------------- +Ran 41 tests in 0.205s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/mutation-runner-red.log b/cbz/contributions/math514/layer_a/evidence/mutation-runner-red.log new file mode 100644 index 000000000..77e44179e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/mutation-runner-red.log @@ -0,0 +1,32 @@ +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... FAIL +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... FAIL +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... FAIL + +====================================================================== +FAIL: test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_mutation_runner.py", line 18, in setUp + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') +AssertionError: unexpectedly None : mutation runner implementation is missing + +====================================================================== +FAIL: test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_mutation_runner.py", line 18, in setUp + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') +AssertionError: unexpectedly None : mutation runner implementation is missing + +====================================================================== +FAIL: test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_mutation_runner.py", line 18, in setUp + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') +AssertionError: unexpectedly None : mutation runner implementation is missing + +---------------------------------------------------------------------- +Ran 3 tests in 0.000s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/original-permission-survivor/record.json b/cbz/contributions/math514/layer_a/evidence/original-permission-survivor/record.json new file mode 100644 index 000000000..6a0e8aee2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/original-permission-survivor/record.json @@ -0,0 +1,35 @@ +{ + "historical_log_custody_limit": "Early development baseline/other per-mutant filenames were reused by the next development run. Original failed JSON, stdout summary and named survivor log above remain exact; final G0 uses receipt-specific directories and all final log/source bindings were checked.", + "original_receipt": "evidence/g0-development.json", + "original_receipt_sha256": "9cad58e6d837b8165db7e78c01c731592cd8d5337a45fdddbdb59b38c61f47e3", + "original_result": "FAIL", + "original_summary": "evidence/g0-development.log", + "original_summary_sha256": "4bdffc622980842951f17a0fff60c1bf712989b4c67e602c9c8b1f9437115c39", + "original_survivor": { + "assertion_failures": 0, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/mutation-logs/allow-unreadable-files.log", + "log_sha256": "678db086095990bcdc4d11bd5f224158c2df0f486dc24aa1cc0d66ada0976502", + "mutated_sha256": "4029425c7ffda611722e1873de72341e9a1a9825cf856a43c079e63bfd9f315b", + "name": "allow-unreadable-files", + "original_sha256": "fc8d42528c1b889c39d2244580b4cf0ca8c5c66bfea36681cace928407f4bccd", + "outcome": "SURVIVED", + "returncode": 0, + "tests_run": 41 + }, + "original_threshold": { + "declared_mutants": 33, + "killed": 32, + "ratio": { + "denominator": 33, + "numerator": 32 + }, + "required_killed": 33, + "rule": "every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count" + }, + "preserved_exact_survivor_log": "evidence/original-permission-survivor/survivor.log", + "preserved_log_sha256": "678db086095990bcdc4d11bd5f224158c2df0f486dc24aa1cc0d66ada0976502", + "resolution": "Original mutant retained in final set. Real already-open fd survives chmod(000); behavioral test rejects zero mode bits even with readable fd, killing guard-removal mutant. Silent skip mutant is additional.", + "type": "DERIVED_ORIGINAL_FAILED_RUN_RECORD" +} diff --git a/cbz/contributions/math514/layer_a/evidence/original-permission-survivor/survivor.log b/cbz/contributions/math514/layer_a/evidence/original-permission-survivor/survivor.log new file mode 100644 index 000000000..dfd870b93 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/original-permission-survivor/survivor.log @@ -0,0 +1,46 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +---------------------------------------------------------------------- +Ran 41 tests in 0.197s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/permission-guard-proof/original-permission-guard-red.log b/cbz/contributions/math514/layer_a/evidence/permission-guard-proof/original-permission-guard-red.log new file mode 100644 index 000000000..17b8bb5e7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/permission-guard-proof/original-permission-guard-red.log @@ -0,0 +1,55 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-nufis8w5/tests/test_auditor.py", line 252, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 42 tests in 0.251s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/LEXER_PROVENANCE.json new file mode 100644 index 000000000..5e6b3930c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/LEXER_PROVENANCE.json @@ -0,0 +1,36 @@ +{ + "bytes": 17697, + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "exact_public_source": "evidence/public-pr29-ef5b924/layer_a_scan.py", + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "immutable_pr_metadata": "evidence/public-pr29-ef5b924/PR_METADATA.json", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "0a113896aff4c999111193359c38906ff61e52e8", + "new_integration_verification": "local hardening G0 covers actual adapter and narrow stricter source policy, including actual checker-source mutations", + "path": "tools/cbz/layer_a_scan.py", + "previous_version": { + "blob": "9393cf7ef6d0665c232556f8df745463f83c9f5e", + "head": "b7eebb4daee0d49f8147e235df7799a15187aa75", + "preserved_source": "evidence/pre-hardening-source/canonical_lean.py", + "prior_receipt": "evidence/g0-final.json" + }, + "published_verification_claim": { + "behavioral_tests": 28, + "mutants": 39 + }, + "published_verification_status": "CONTRIBUTOR_CLAIM_RECORDED_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/Universal-Law-Workspace", + "sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "source_receipt": "evidence/public-pr29-ef5b924/FETCH_METADATA.json", + "unused_interfaces": [ + "classify_token", + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interfaces": [ + "lex_tokens(text)", + "_CHAR_LIT" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/README.md b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/README.md new file mode 100644 index 000000000..9d07d3941 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/README.md @@ -0,0 +1,119 @@ +# CBZ exact-scope Layer A contribution + +This tool contributes classification/hash/import isolation, a strict exact-arithmetic Python AST profile and A6/A7 evidence bindings. It reuses the published PR29 identifier lexer. It does **not** replace federation G2/G4 or declare mathematical closure. The authoritative mechanical contract and limitations are in [SPEC.md](SPEC.md). + +## Commands + +With Python 3.11 or newer, change into the complete tool directory at your chosen repository-relative destination, for example `cbz/contributions/math514/layer_a/` or `tools/cbz/exact_scope/`: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use a fresh controller output path per run; preserved raw development receipts are immutable historical evidence. Raw receipt paths identify the local environment where they ran, not publication execution paths. Run the second command for an actual repository only after the first succeeds and the controller has prepared its final tracked-file scope. G0 runs every local selftest, then actual temporary checker-source mutants. G1 reads files only; it never runs Git, Lean, project Python, external commands or mathematical checks. Its report is deterministic for identical manifest bytes/files/tool. `audit(manifest)` is also available to isolated fixture tests; it accepts the parsed object and returns the report. + +Audit exit codes: **0** bounded `STATIC_PASS`; **1** one or more blocking findings; **2** invalid/unreadable JSON or command-line usage; **3** requested report output could not be written. `STATIC_PASS` always carries outstanding G2/G3/G4/G5/G7/G8/G10 obligations. Every finding blocks the static result; `fatal_gaps` is the subset that specifically identifies missing/unsupported certification. Retained isolated findings appear separately and never mean those files are clean. CLI input errors produce JSON except argparse usage errors. G0 exit 0 means every declared mutant was killed; any surviving/invalid/crashing mutant or baseline error is nonzero. No weakening/skip option exists. + +To run selftests alone (development, not a replacement for G0): + +```sh +python -B -S -m unittest discover -s tests -v +``` + +## Manifest schema v1 + +JSON accepts integers only; duplicate keys, floats, NaN and Infinity are rejected. Top-level keys are **exactly**: + +```json +{ + "schema_version": 1, + "approved_axioms": ["propext", "Classical.choice", "Quot.sound"], + "roots": [ + { + "id": "math", + "path": "/absolute/final-tree", + "tree_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "tracked_files": ["Closed.lean"], + "files": { + "Closed.lean": { + "sha256": "<64 lowercase hexadecimal content digest>", + "kind": "project_lean", + "module": "lean:Closed", + "vacuity": { + "t@1": { + "status": "conditional", + "premises": [], + "reason": "No nonvacuity certificate claimed; elaborated statement review remains G2/G8." + } + } + } + } + } + ], + "module_map": {"lean:Closed": "math:Closed.lean"} +} +``` + +This is a schema illustration: replace the absolute root, immutable tree id, exact inventory and actual SHA256 values. Roots are nonempty, normalized absolute directories with unique ASCII ids (`[A-Za-z0-9_-]+`) and nonoverlapping paths. A tree id is 40 or 64 lowercase hexadecimal characters; G10 authenticates its connection to the supplied inventory. Every root has a nonempty unique list of normalized relative NFC paths, no `..`, backslashes or symlink component. `files` keys equal `tracked_files` exactly. No exclusions or inferred quarantine folders exist. The controller supplies the full final tracked scope; untracked state and inventory authenticity remain G10. + +Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable to its kind fail. Additional fields by kind: + +| kind | Fields and obligations | +|---|---| +| `project_lean` | `module`, `vacuity` required; `.lean` source | +| `math_python` | `module` required; `.py`/`.pyi` closed exact-program profile | +| `engineering_python` | `module`, `nonmath_review` required; `.py`/`.pyi`; floats only in explicit bound nonmathematical reviewed scope | +| `negative_fixture` | `language`, `module`, `expected_findings`, `fixture_purpose`; retains actual negative tests | +| `quarantined_source` | `language`, `module`, `expected_findings`, `quarantine`; exact terminal isolation | +| `external_pinned` | `pin` required; source requires supported `language`/`module` and Lean `vacuity`; optional binary `bindings` | +| `binary_proof` | `bindings` required, optional `pin`; bytes are not treated as text | +| `documentation`, `data` | optional `status_evidence: true` for JSON status surfaces; other known source/proof suffixes cannot be relabeled this way | + +`language` is `lean` or `python`. Historical `.lean.txt`/`.py.txt` source is recognized. Known unsupported source extensions fail with `LANGUAGE_GAP`; they require an appropriate certifier, not arbitrary data labeling. Nonbinary files must decode strict UTF-8. Actual reads and explicit permission bits are checked, including under a privileged reader. Immutable `pin` is exactly `{ "revision": "<40 or 64 lowercase hex>", "origin": "" }`. Dependencies are scanned, never automatically declared safe by pinning. Known binary object suffixes also require G2/G4 bindings when `external_pinned`. + +A source module has exactly one identity, e.g. `lean:Closed.Base` or `python:certifier`, and its one `module_map` value is `rootid:relative/path`. Maps cannot point to documents or alias a differently declared module. Explicit imports resolve through this map. Closed code may not reach negative/quarantined source through any mapped import chain. Python `from fractions import Fraction [as alias]` is the sole built-in exact-math profile import; G7 must bind/authenticate that Python runtime and fractions implementation. Mapped local `fractions` modules take precedence over the stdlib exception; a mathematical source cannot depend on an engineering-only replacement. Python mapped package prefixes and `from package import submodule as alias` candidates also enter the isolation graph. Other unknown imports, relative/star imports, reflective loaders, macro expansion and unsupported mechanisms remain reported gaps. There is no general import/dataflow completeness claim. + +## Retained source and certificates + +`expected_findings` is an exact map of checker code to positive integer occurrence count, e.g. `{"LEAN_PLACEHOLDER": 1}`. `{}` is valid for a retained semantic failure that has no lexical violation; G5 still must retain and execute its actual failing test. Missing or extra scanner findings block. No retained source is counted as clean. + +A quarantine object has exactly: + +```json +{"id":"Q-1","boundary":"root:path and exact isolated mathematical boundary","blocking_reason":"specific unproved fact","owner":"none","maintenance":"zero"} +``` + +All evidence references have exactly `{"root":"id","path":"relative/file.json","sha256":""}`. The referenced file must itself be classified, readable, hash-bound JSON inside the manifest. Binding is mechanical; authentication and truth of its review/certificate are G8/controller work. + +An engineering `nonmath_review` reference points to exactly: + +```json +{"type":"nonmathematical_review","source_sha256":"","scope":"nonmathematical_execution_only","reviewer":"identified reviewer","rationale":"explicit reviewed execution scope; no mathematical certification"} +``` + +This is an affirmative review claim, not a waiver for mathematical floats. The controller must substantiate it. + +Lean `vacuity` keys cover exactly every lexical theorem/lemma/example as `name@line` (anonymous `example@line`). An entry has `status`, nonempty `reason`, and only the following applicable fields: + +- `conditional`: explicit `premises` string list, possibly empty; no satisfiability claim. +- `vacuous`: reason naming the unsatisfiable source-shaped hypotheses; syntactic contradiction candidates require this classification. +- `nonvacuous`: `evidence` reference to `{ "type":"nonvacuity_certificate", "subject_sha256":"", "declaration":"name@line", "witness_description":"actual witness and certificate description" }`. + +Candidates are syntax observations; arithmetic interpretations, aliases and arbitrary proposition SAT are not decided. G8 must validate the semantic interpretation of annotations, and G2 must expose generated/aliased statements. Conditional status never closes a mathematical hypothesis obligation. + +Binary `bindings` is exactly `{"G2":,"G4":}`. Each reference points to a passing JSON object with `type: "kernel_evidence"`, corresponding `gate`, `subject_sha256` equal to the object's content hash, `observed_status: "PASS"`, integer `exit_code: 0`, a nonempty command list and nonempty `run_id`. G2/G4 must actually supply/authenticate that result; byte/hash presence cannot create it. + +## Status evidence schema + +A file with `status_evidence: true` contains exactly required fields `schema_version:1`, `gate:G0..G11`, `observed_status:PASS|FAIL|NOT_RUN|ERROR|INACCESSIBLE`, nonempty `run_id`, nonempty string-list `command`, `exit_code`, and nonempty `inputs` mapping `rootid:path` to actual content SHA256. The only optional field is `evidence`, a bound JSON reference. `PASS` requires integer exit 0; `FAIL` requires nonzero integer exit; other observed execution states require integer exit. The observation JSON must equal all status fields except the evidence pointer. `NOT_RUN` requires null exit and no observation evidence. This checks structure and bindings, never an aspirational Markdown label or command execution authenticity. + +## Published lexical reuse and evidence + +`canonical_lean.py` is the unchanged public `tools/cbz/layer_a_scan.py` from Universal-Law-Workspace PR29, head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169`, native Git blob `0a113896aff4c999111193359c38906ff61e52e8`. `LEXER_PROVENANCE.json` records exact source binding and inherited verification claims. We call only its `lex_tokens`; its heuristic path contexts, default exclusion behavior, filesystem/Git walking and standalone CLI are **not used**. Our manifest classifies every supplied file explicitly. Its published 28-test/39-mutant claim is recorded as inherited contributor evidence and was not rerun here. Our added integration tests cover the reported unchecked insertion, escaped helpers, malformed character literals and multiline/comment-separated native configurations. The previous b7eebb4 source and its G0-bound integration are preserved under `evidence/pre-hardening-source/`. Its earlier published tests are reusable evidence, not fresh federation gate evidence. Our integration tests and checker-source mutations exercise the adopted lexer at this boundary. + +G0 receipts bind the actual checker/test/spec/README source hashes and each changed checker hash/log. Invalid syntax, import/runtime errors and timeouts do not count as killed mutants. Identity-mutant and crashing-mutant tests verify the harness itself. Initial red runs and the original permission-guard survivor are retained as development evidence; the original guard-removal mutant remains in the final declared set alongside the actual skip-file mutant. The privilege-descriptor fixture kills the original by assertion. All final threshold decisions use exact integer counts, never floating point. + +Owned by the root CBZ integrator after admission. This agent only writes this directory and its discovery build report. Root owns the final registry, tracked scope, source receipt verification, G0–G11 final run and any CBZ-0 declaration. + +Hardening scope: `Environment.addDeclWithoutChecking` and qualified/escaped forms are blocking `LEAN_KERNEL_BYPASS` findings. Escaped `admitGoal`/`mkSorry` helper constants are refused alongside `sorryAx`. Unterminated character literals fail with `LEAN_LEXICAL_GAP`. Every exact `native` identifier is conservatively refused, so native configuration flags do not evade detection through whitespace, line breaks or nested comments; this policy can also reject harmless uses of that identifier. Comments and ordinary/raw strings remain noncode. No arbitrary alias expansion, semantic kernel trust or SAT completeness is claimed. The finite planted layouts are listed in `evidence/hardening-assessment.json`. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/SNAPSHOT_BINDING.json b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/SNAPSHOT_BINDING.json new file mode 100644 index 000000000..e50c4d943 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/SNAPSHOT_BINDING.json @@ -0,0 +1,16 @@ +{ + "reason": "Preserve 60/44 candidate generation before five confirmed independent-review fixes", + "receipt": "evidence/g0-hardening.json", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "f32f736f63c08ec0fd67b4ef4746630e17c39085ab700f5eee8ddda41c87fed0", + "SPEC.md": "75dc927fc35b0dff3f2423957dcf311ea95c9364c1ae3208f670ebe22eac774d", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "a5241db32bbbadbce183aad2ffeae2fc732406fdf01fbec79b3d27a95b06ed2a", + "source_checks.py": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "tests/test_auditor.py": "05095a3fd3cc71bfedd37b57a07e5a4d97ea40e43a7ab3df05fa9967b55d754e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "type": "EXACT_PRE_ADMISSION_FIX_SOURCE_SNAPSHOT" +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/SPEC.md b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/SPEC.md new file mode 100644 index 000000000..41d73ca6c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/SPEC.md @@ -0,0 +1,35 @@ +# CBZ Layer A static auditor — bounded specification + +Purpose: G0 tests the auditor itself; G1 checks a root-authorized exact tracked-file manifest. This is a focused Python-stdlib command, not a Lean parser, kernel, SAT solver, Python interpreter or general framework. A successful result is `STATIC_PASS`, never CBZ-0 or proof closure. + +## Authority and scope + +The final federation controller supplies schema v1: exact roots, immutable tree identifiers, complete tracked-file lists, and one hash-bound classification per tracked file. The auditor validates every listed file, exact classification coverage, normalized paths, absence of symlink aliases, UTF-8 where applicable, readability, content SHA256, and all class-specific obligations. It never guesses exclusions or silently skips a file. The authority/completeness of the supplied Git inventory remains G10; this tool deliberately does not run Git. Its report binds manifest bytes, inventory lists and every scanned file. The manifest is supplied outside the audited root in tests; production may bind it as controller evidence outside its own hash cycle. + +Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_fixture`, `quarantined_source`, `external_pinned`, `binary_proof`, `documentation`, `data`. Source-looking extensions cannot be relabeled documentation/data. Every source, including quarantined and negative source, is scanned. Retained negative/quarantined source must name its exact expected finding multiset; extra or absent findings fail. Quarantine additionally records an exact nonempty boundary, blocking reason, id and source hash. These records are dispositions, not clean source. Binary proofs require content-bound G2 and G4 evidence references. External files require immutable revision pin metadata; no implicit dependency trust exception exists. + +## Mechanical claims + +Lean: the unchanged public PR29 identifier lexer (`canonical_lean.py`, provenance in `LEXER_PROVENANCE.json`) supplies the hazard stream; a bounded punctuation/header lexer supplies metadata and fail-closed malformed-input detection. Together they handle line comments, nested block comments, ordinary/raw string literals, character literals, escaped identifiers and Unicode identifier boundaries. It refuses malformed lexical constructs and interpolation (which can contain executable terms). Outside comments/strings it detects exact `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, axiom/constant declarations, `native_decide`, `native`, `ofReduceBool`, `ofReduceNat`, `ofReduceInt`, `trustCompiler` and `skipKernelTC`, including qualified forms. `addDeclWithoutChecking` (qualified/escaped forms included) is a blocking unchecked-kernel-insertion hazard. Escaped `sorryAx`/`admitGoal`/`mkSorry` constant names remain hazards, while escaped keyword identifiers such as `«sorry»` are not logical placeholders. An exact `native` identifier is always refused, conservatively covering native-decide configuration across whitespace, newlines and nested comments without depending on a follow-text regular expression. Float/Float32 and unsafe/macro/elaborator/FFI syntax are flagged for explicit G2/G4 follow-up because lexical inspection cannot certify its expansion. Imported project macros can inject axioms without these tokens: G2 must enumerate ALL elaborated owned declarations, including private/generated ones, and G4 must kernel recheck them. + +Approved foundation declaration profile: **no newly declared owned source axiom is permitted**, even when named `propext`, `Classical.choice` or `Quot.sound`. The approved imported transitive axiom set is exactly `{propext, Classical.choice, Quot.sound}`; only G2's all-declaration kernel environment audit can authenticate that set and those actual declarations. Lexical source naming cannot create an exception to it. Dependencies are immutable pinned inputs, not arbitrary new foundation declarations. + +Math Python: an explicit AST allowlist accepts closed-program exact integer/`fractions.Fraction` arithmetic, exact builtins and statically named local functions. No floating/complex literals, `/`, unrestricted powers, arbitrary imports, dynamic calls, reflective attributes, classes, decorators, async, external input, exceptions as proof, or builtin/Fraction rebinding. `**` requires a nonnegative integer literal exponent. Fraction import aliases are supported and protected. This is a conservative syntactic exact-arithmetic profile, not arbitrary interprocedural float-dataflow analysis. Functions are certified only as part of the closed program; external callers are outside the profile. Engineering Python allows floats only with a hash-bound explicit review declaring nonmathematical execution scope; it is parsed and dependency checked, never silently admitted as mathematical certification. + +Boundary checks: explicit Lean and Python imports from closed sources resolve through `module_map` to classified pinned files. Closed code cannot import quarantine or negative fixtures, including transitive import chains. Unresolved/dynamic/unsupported import mechanisms are fatal gaps (or exact retained findings in isolated source); no claim of arbitrary runtime dependency completeness is made. The module map must agree with per-file declared module identities and cannot alias names. G2/G4 must account for generated modules, macros, FFI and runtime-dependent loading; unknown cases are never green. + +A6: every lexical theorem/lemma/example has an entry keyed `name@line` (`example@line` for anonymous examples). Entries are `conditional` with explicit premises/reason, `nonvacuous` with a bound evidence reference, or `vacuous` with a reason. Syntactic candidates (`False` hypothesis, `False →`, opposing `P`/`¬P`, self-strict inequality/disequality, incompatible literal equality) require `vacuous` classification. These are source-shape candidates, not a decision procedure for Lean proposition satisfiability; aliases, typeclass interpretations and arbitrary semantic inconsistency require separate certificates/G2 elaborated statement review. The report lists all detected candidates and all conditional claims. + +A7: status JSON is checked only when explicitly bound with `status_evidence`: exact allowed observed state, gate id, command, run id, input hashes, evidence reference and exit code must agree. An observation file is evidence structure/content binding, not authentication that the command actually ran. G8/controller execution receipts supply that provenance. Markdown truth and no-weakened-bound historical intent are outside lexical decidability; they require G8 and source-history review respectively. + +## Nonclaims and hard limits + +No source scanner proves arbitrary mathematics, satisfiability, bound strength, historical test retention, semantic status truth, pin compatibility, kernel trust, command execution or external review authenticity. G2/G3/G4/G5/G7/G8/G10 and relevant manual certificates remain explicit obligations. `STATIC_PASS` covers only the stated mechanical rules under the supplied final tracked inventory. Any missing/unsupported case is a finding/fatal gap, never a skipped green case. Test/mutation scores are finite declared coverage, not a proof of all possible checker behavior. + +## Delivery and authorization + +Owner's explicit autonomous directive supersedes skill approval/branch/commit/reviewer ceremony. Work is confined to `tools/layer_a/` and `discovery/auditor-build-report.{md,json}`; root owns Git, registry, final manifests and final G0–G11. Existing `formal/gate.py` hash/path/axiom target checks were inspected: their target-scoped audit and source-manifest checks are useful G2/G3/G4 components but do not implement this lexer/AST/full-classification contract. Their invariant patterns (safe paths, exact hashes, strict JSON, exact approved set) are retained; their package-specific execution and destructive build routines are not copied or run. + +Published component reuse: exact native blob `0a113896aff4c999111193359c38906ff61e52e8` at public Workspace PR29 head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169` is imported unchanged. Its published 28-test/39-mutant claim is recorded as inherited contributor evidence, not a local rerun; our G0 verifies the new integration and supplementary rules. No heuristic directory exclusions or Git execution from its standalone entrypoint are used. Lean excludes lambda from identifier continuation; the earlier harmless-Unicode fixture was corrected to alpha, and a lambda-boundary violation was added. The original permission-guard-removal mutant remains in the final declared set and is killed under a real already-open descriptor that survives chmod(000); the additional silent-skip mutant is distinct. + +Hardening trigger: a concrete integration review exposed unchecked declaration insertion, malformed character and escaped helper gaps. `evidence/hardening-reported-cases-red.log` retains the observed RED cases; the previous nine G0-bound source/doc files are preserved exactly in `evidence/pre-hardening-source/`. No historical repository mathematics was repeated. Actual repository G1 remains root-owned and NOT_RUN here. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/auditor.py b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/auditor.py new file mode 100644 index 000000000..27a1afb6e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/auditor.py @@ -0,0 +1,364 @@ +#!/usr/bin/env python3 +"""G1 bounded static auditor. `STATIC_PASS` is not proof closure. See SPEC.md.""" +import argparse +from collections import Counter +import hashlib +import json +import os +from pathlib import Path, PurePosixPath +import re +import stat +import sys +import unicodedata + +from source_checks import check_lean, check_python + +APPROVED_AXIOMS = frozenset({'propext', 'Classical.choice', 'Quot.sound'}) +KINDS = frozenset({'project_lean','math_python','engineering_python','negative_fixture','quarantined_source', + 'external_pinned','binary_proof','documentation','data'}) +RETAINED = frozenset({'negative_fixture','quarantined_source'}) +SOURCE_EXTENSIONS = frozenset({'.lean','.py','.pyi','.sh','.bash','.js','.ts','.c','.cc','.cpp','.h','.rs'}) +BINARY_EXTENSIONS = frozenset({'.olean','.ilean','.o','.so','.a','.dll','.dylib','.wasm'}) +HEX = re.compile(r'[0-9a-f]{64}') +ENTRY_KEYS = frozenset({'kind','sha256','module','language','vacuity','expected_findings','quarantine', + 'fixture_purpose','pin','nonmath_review','bindings','status_evidence'}) + + +CLASS_KEYS = { + 'project_lean': {'module','vacuity'}, + 'math_python': {'module'}, + 'engineering_python': {'module','nonmath_review'}, + 'negative_fixture': {'language','module','expected_findings','fixture_purpose'}, + 'quarantined_source': {'language','module','expected_findings','quarantine'}, + 'external_pinned': {'language','module','vacuity','pin','bindings'}, + 'binary_proof': {'bindings','pin'}, + 'documentation': {'status_evidence'}, + 'data': {'status_evidence'}, +} + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def strict_json(text): + def unique(pairs): + result = {} + for k, v in pairs: + if k in result: + raise ValueError('duplicate JSON key: ' + k) + result[k] = v + return result + def refuse(token): + raise ValueError('noninteger/nonfinite JSON number refused: ' + token) + return json.loads(text, object_pairs_hook=unique, parse_float=refuse, parse_constant=refuse) + + +def normalized_path(value): + if not isinstance(value, str) or not value or '\\' in value or '\x00' in value: + return False + p = PurePosixPath(value) + return (not p.is_absolute() and '..' not in p.parts and '.' not in p.parts and str(p) == value and + unicodedata.normalize('NFC', value) == value and not any(ord(c) < 32 for c in value)) + + +def audit(manifest): + findings, retained_findings, observations = [], [], [] + records, roots, graph, source_results = {}, {}, {}, {} + classified_count, scanned_count = 0, 0 + + def add(code, detail, root='', path='', line=0): + findings.append({'code':code, 'root':root, 'path':path, 'line':line, 'detail':detail}) + + def nonempty(value): + return isinstance(value, str) and bool(value.strip()) + + def binding(value, owner, label): + if not isinstance(value, dict) or set(value) != {'root','path','sha256'}: + add('EVIDENCE_BINDING', 'malformed '+label, *owner); return None + ref = value.get('root','') + ':' + value.get('path','') if isinstance(value.get('root'),str) and isinstance(value.get('path'),str) else '' + target = records.get(ref) + if target is None or target.get('data') is None or value.get('sha256') != target['entry'].get('sha256') or digest(target['data']) != value.get('sha256'): + add('EVIDENCE_BINDING', 'missing/stale/unreadable '+label, *owner); return None + try: + return strict_json(target['data'].decode('utf-8')) + except (UnicodeError, ValueError, TypeError, RecursionError) as exc: + add('EVIDENCE_BINDING', 'non-JSON '+label+': '+str(exc), *owner); return None + + if not isinstance(manifest, dict) or set(manifest) != {'schema_version','approved_axioms','roots','module_map'} or type(manifest.get('schema_version')) is not int or manifest.get('schema_version') != 1: + add('MANIFEST','schema v1 exact top-level keys required') + manifest = manifest if isinstance(manifest,dict) else {} + approved = manifest.get('approved_axioms') + if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS: + add('FOUNDATION_PROFILE','approved imported axiom set must be exactly propext, Classical.choice, Quot.sound') + raw_roots=manifest.get('roots') + if not isinstance(raw_roots,list) or not raw_roots: + add('MANIFEST','nonempty roots required');raw_roots=[] + root_realpaths=[] + for r in raw_roots: + if not isinstance(r,dict) or set(r)!={'id','path','tree_id','tracked_files','files'}: + add('MANIFEST','root exact keys required');continue + rid=r.get('id') + if not isinstance(rid,str) or not re.fullmatch(r'[A-Za-z0-9_-]+',rid) or rid in roots: + add('MANIFEST','invalid or duplicate root id');continue + if not isinstance(r.get('tree_id'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',r['tree_id']) is None: + add('MANIFEST','immutable tree identifier required',rid) + rp=r.get('path') + if not isinstance(rp,str) or not Path(rp).is_absolute() or str(Path(rp))!=rp or unicodedata.normalize('NFC',rp)!=rp: + add('PATH','root must be normalized absolute path',rid);continue + root=Path(rp) + if not root.is_dir(): + add('FILE_MISSING','root directory missing',rid);continue + if any(p.is_symlink() for p in [root,*root.parents]): + add('PATH_SYMLINK','root or ancestor is a symlink',rid);continue + real=root.resolve() + if any(real==other or real.is_relative_to(other) or other.is_relative_to(real) for other in root_realpaths): + add('PATH','overlapping/aliased roots are forbidden',rid);continue + root_realpaths.append(real);roots[rid]=r + tracked, files=r.get('tracked_files'),r.get('files') + if not isinstance(tracked,list) or not tracked or any(not isinstance(p,str) for p in tracked) or len(set(tracked))!=len(tracked) or not isinstance(files,dict): + add('MANIFEST','nonempty unique tracked paths and file object required',rid);continue + if set(tracked)!=set(files): + add('SCOPE_CLASSIFICATION','tracked/classified path sets differ: missing='+repr(sorted(set(tracked)-set(files)))+' extra='+repr(sorted(set(files)-set(tracked))),rid) + for path in sorted(set(tracked)|set(files)): + if not normalized_path(path): + add('PATH','unsafe, nonnormalized or non-NFC file path',rid,str(path));continue + if path not in files: + continue + entry=files[path];classified_count+=1 + if not isinstance(entry,dict) or set(entry)-ENTRY_KEYS or not {'kind','sha256'}<=set(entry): + add('CLASSIFICATION','malformed classification or unknown fields',rid,path);continue + if not isinstance(entry.get('kind'),str) or entry.get('kind') not in KINDS: + add('CLASSIFICATION','unknown classification: '+str(entry.get('kind')),rid,path);continue + if set(entry)-{'kind','sha256'}-CLASS_KEYS.get(entry['kind'],set()): + add('CLASSIFICATION','fields not applicable to declared classification',rid,path) + if 'language' in entry and (not isinstance(entry['language'],str) or entry['language'] not in {'lean','python'}): + add('LANGUAGE_GAP','unsupported/nonstring language classification',rid,path);continue + if 'module' in entry and not isinstance(entry['module'],str): + add('MODULE_ALIAS','module identity must be a string',rid,path);continue + if not isinstance(entry.get('sha256'),str) or HEX.fullmatch(entry['sha256']) is None: + add('FILE_HASH','missing or malformed SHA256',rid,path) + target=root/path + record={'root':rid,'path':path,'entry':entry,'data':None};records[rid+':'+path]=record + if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)): + add('PATH_SYMLINK','symlink file/ancestor aliases are forbidden',rid,path);continue + try: + info=target.stat() + if not stat.S_ISREG(info.st_mode): + add('FILE_MISSING','not a regular file',rid,path);continue + if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH): + add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue + data=target.read_bytes() + except FileNotFoundError: + add('FILE_MISSING','declared file is absent',rid,path);continue + except OSError as exc: + add('FILE_UNREADABLE',str(exc),rid,path);continue + record['data']=data;scanned_count+=1 + if digest(data)!=entry.get('sha256'): + add('FILE_HASH','content differs from manifest pin',rid,path) + module_map=manifest.get('module_map') + if not isinstance(module_map,dict): + add('MANIFEST','module_map must be an object');module_map={} + for name, ref in module_map.items(): + if not isinstance(name,str) or not re.fullmatch(r'(lean|python):[^\s:]+',name) or not isinstance(ref,str) or ref not in records: + add('MODULE_ALIAS','module map points outside classified scope: '+str(name));continue + if records[ref]['entry'].get('kind') in {'documentation','data','binary_proof'}: + add('MODULE_ALIAS','module identity must point to actual classified source: '+name) + if records[ref]['entry'].get('module')!=name: + add('MODULE_ALIAS','module map alias does not equal target declared identity: '+name) + for ref, record in records.items(): + rid,path,entry=record['root'],record['path'],record['entry'] + owner=(rid,path);kind=entry['kind'];data=record['data'];suffix=Path(path).suffix.lower() + language=entry.get('language') + if kind=='project_lean': language='lean' + if kind in {'math_python','engineering_python'}: language='python' + source_like=suffix in SOURCE_EXTENSIONS or path.lower().endswith(('.lean.txt','.py.txt','.sh.txt','.js.txt')) + if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS): + add('SOURCE_CLASSIFICATION','source/proof object cannot be relabeled documentation/data',rid,path) + if kind=='binary_proof' and source_like: + add('SOURCE_CLASSIFICATION','source cannot be relabeled binary proof',rid,path) + if kind in {'project_lean','math_python','engineering_python'} and suffix not in ({'.lean'} if language=='lean' else {'.py','.pyi'}): + add('SOURCE_CLASSIFICATION','source kind does not match extension',rid,path) + if kind in RETAINED|{'external_pinned'} and source_like and language not in {'lean','python'}: + add('LANGUAGE_GAP','source needs supported explicit lean/python classification',rid,path) + expected_language='lean' if path.lower().endswith(('.lean','.lean.txt')) else 'python' if path.lower().endswith(('.py','.pyi','.py.txt')) else None + if expected_language is not None and language is not None and language!=expected_language: + add('SOURCE_CLASSIFICATION','declared language disagrees with source extension',rid,path) + if language is not None and language not in {'lean','python'}: + add('LANGUAGE_GAP','unsupported language classification',rid,path) + if kind in RETAINED and (not isinstance(entry.get('expected_findings'),dict) or any(not isinstance(k,str) or type(v) is not int or v<1 for k,v in entry.get('expected_findings',{}).items())): + add('RETAINED_FINDING_MISMATCH','exact positive finding-count map required',rid,path) + if kind=='negative_fixture' and not nonempty(entry.get('fixture_purpose')): + add('NEGATIVE_FIXTURE','retained test purpose required',rid,path) + if kind=='quarantined_source': + q=entry.get('quarantine') + if not isinstance(q,dict) or set(q)!={'id','boundary','blocking_reason','owner','maintenance'} or any(not nonempty(q.get(k)) for k in ['id','boundary','blocking_reason']) or q.get('owner')!='none' or q.get('maintenance')!='zero': + add('QUARANTINE','exact id/boundary/blocking reason and terminal owner:none maintenance:zero required',rid,path) + if kind=='external_pinned' or 'pin' in entry: + pin=entry.get('pin') + if not isinstance(pin,dict) or set(pin)!={'revision','origin'} or not nonempty(pin.get('origin')) or not isinstance(pin.get('revision'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',pin['revision']) is None: + add('EXTERNAL_PIN','immutable 40/64 hex revision and nonempty origin required',rid,path) + if kind=='engineering_python': + review=binding(entry.get('nonmath_review'),owner,'nonmathematical review') + if not isinstance(review,dict) or set(review)!={'type','source_sha256','scope','reviewer','rationale'} or review.get('type')!='nonmathematical_review' or review.get('scope')!='nonmathematical_execution_only' or review.get('source_sha256')!=entry['sha256'] or not nonempty(review.get('reviewer')) or not nonempty(review.get('rationale')): + add('NONMATH_REVIEW','explicit hash-bound reviewed nonmathematical scope required',rid,path) + if kind=='binary_proof' or suffix in BINARY_EXTENSIONS: + bs=entry.get('bindings') + if not isinstance(bs,dict) or set(bs)!={'G2','G4'}: + add('BINARY_BINDING','binary proof requires exact G2/G4 bindings',rid,path) + else: + for gate,value in bs.items(): + proof=binding(value,owner,gate+' binary proof evidence') + if not isinstance(proof,dict) or proof.get('type')!='kernel_evidence' or proof.get('gate')!=gate or proof.get('subject_sha256')!=entry['sha256'] or proof.get('observed_status')!='PASS' or type(proof.get('exit_code')) is not int or proof.get('exit_code')!=0 or not isinstance(proof.get('command'),list) or not proof['command'] or not nonempty(proof.get('run_id')): + add('BINARY_BINDING','missing/stale/nonpassing '+gate+' subject evidence',rid,path) + if data is None: + continue + text=None + if kind!='binary_proof' and suffix not in BINARY_EXTENSIONS: + try: + text=data.decode('utf-8') + except UnicodeError: + add('FILE_ENCODING','nonbinary classified file is not strict UTF-8',rid,path);continue + if language in {'lean','python'}: + if text is None: + add('SOURCE_CLASSIFICATION','binary object cannot be declared Lean/Python source',rid,path);continue + module=entry.get('module') + if not isinstance(module,str) or not module.startswith(language+':') or module_map.get(module)!=ref: + add('MODULE_ALIAS','source module must have one exact registered identity',rid,path) + result=check_lean(text) if language=='lean' else check_python(text, kind!='engineering_python') + source_results[ref]=result + raw_findings=list(result['findings']) + if kind in RETAINED: + actual=dict(Counter(f['code'] for f in raw_findings)) + if actual!=entry.get('expected_findings'): + add('RETAINED_FINDING_MISMATCH','expected '+repr(entry.get('expected_findings'))+' actual '+repr(actual),rid,path) + for f in raw_findings: + retained_findings.append({'root':rid,'path':path,**f}) + else: + for f in raw_findings: + add(f['code'],f['detail'],rid,path,f['line']) + graph[ref]=[] + for imported in result['imports']: + if language=='python' and imported=='fractions' and kind=='math_python' and 'python:fractions' not in module_map: + continue # Explicit exact-arithmetic trust profile; G7 binds runtime/stdlib. + target=module_map.get(language+':'+imported) + if target not in records: + add('IMPORT_UNRESOLVED','unknown/unsupported dependency '+language+':'+imported,rid,path) + else: + graph[ref].append(target) + if kind=='math_python' and records[target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only source '+target,rid,path) + if language=='python': + parts=imported.split('.') + for i in range(1,len(parts)): + prefix=module_map.get('python:'+'.'.join(parts[:i])) + if prefix in records: + graph[ref].append(prefix) + for candidate in result.get('import_candidates',[]): + target=module_map.get('python:'+candidate) + if target in records: + graph[ref].append(target) + if language=='lean' and kind not in RETAINED: + annotations=entry.get('vacuity') + declarations=result['declarations'] + keys=[d['key'] for d in declarations] + if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys): + add('VACUITY_COVERAGE','annotation keys must exactly cover theorem/lemma/example source locations',rid,path) + annotations=annotations if isinstance(annotations,dict) else {} + for declaration in declarations: + key=declaration['key'];a=annotations.get(key) + if not isinstance(a,dict) or not isinstance(a.get('status'),str) or a.get('status') not in {'conditional','nonvacuous','vacuous'} or not nonempty(a.get('reason')): + add('VACUITY_ANNOTATION','required status/reason for '+key,rid,path,declaration['line']);continue + if set(a)-{'status','reason','premises','evidence'}: + add('VACUITY_ANNOTATION','unknown annotation keys for '+key,rid,path,declaration['line']) + if a['status']=='conditional' and (not isinstance(a.get('premises'),list) or any(not nonempty(p) for p in a['premises'])): + add('VACUITY_ANNOTATION','explicit premises list required for '+key,rid,path,declaration['line']) + if declaration['contradictions'] and a['status']!='vacuous': + add('VACUITY_CONTRADICTION','syntactic contradiction candidates require vacuous: '+key+': '+repr(declaration['contradictions']),rid,path,declaration['line']) + if a['status']=='nonvacuous': + certificate=binding(a.get('evidence'),owner,'nonvacuity certificate '+key) + if not isinstance(certificate,dict) or certificate.get('type')!='nonvacuity_certificate' or certificate.get('subject_sha256')!=entry['sha256'] or certificate.get('declaration')!=key or not nonempty(certificate.get('witness_description')): + add('VACUITY_EVIDENCE','content-bound nonvacuity witness certificate required for '+key,rid,path,declaration['line']) + observations.append({'root':rid,'path':path,'declaration':key,'status':a['status'],'contradiction_candidates':declaration['contradictions']}) + if entry.get('status_evidence') is not None: + if entry['status_evidence'] is not True: + add('STATUS_EVIDENCE','status_evidence must be true, never disable/skip',rid,path) + try: + s=strict_json(text) + except (ValueError,TypeError,RecursionError) as exc: + add('STATUS_EVIDENCE','invalid status JSON: '+str(exc),rid,path);continue + required={'schema_version','gate','observed_status','run_id','command','exit_code','inputs'} + if not isinstance(s,dict) or not required<=set(s) or set(s)-required-{'evidence'} or type(s.get('schema_version')) is not int or s.get('schema_version')!=1 or not isinstance(s.get('gate'),str) or s.get('gate') not in {'G'+str(i) for i in range(12)} or not isinstance(s.get('observed_status'),str) or s.get('observed_status') not in {'PASS','FAIL','NOT_RUN','ERROR','INACCESSIBLE'} or not nonempty(s.get('run_id')) or not isinstance(s.get('command'),list) or not s['command'] or any(not nonempty(c) for c in s['command']) or not isinstance(s.get('inputs'),dict) or not s['inputs']: + add('STATUS_EVIDENCE','invalid exact observed status schema',rid,path);continue + for input_ref,value in s['inputs'].items(): + target=records.get(input_ref) + if target is None or value!=target['entry'].get('sha256') or target['data'] is None or digest(target['data'])!=value: + add('STATUS_EVIDENCE','status input missing/stale: '+input_ref,rid,path) + if s['observed_status']=='NOT_RUN': + if s['exit_code'] is not None or 'evidence' in s: + add('STATUS_EVIDENCE','NOT_RUN cannot carry execution exit/evidence',rid,path) + else: + evidence=binding(s.get('evidence'),owner,'observed status receipt') + comparable={k:v for k,v in s.items() if k!='evidence'} + if evidence!=comparable or type(s['exit_code']) is not int or (s['observed_status']=='PASS' and s['exit_code']!=0) or (s['observed_status']=='FAIL' and s['exit_code']==0): + add('STATUS_EVIDENCE','status differs from bound observed execution receipt',rid,path) + for start in sorted(graph): + if records[start]['entry']['kind'] in RETAINED: + continue + seen,pending=set(),list(graph[start]) + while pending: + target=pending.pop() + if target in seen: + continue + seen.add(target) + if records[target]['entry']['kind'] in RETAINED: + add('QUARANTINE_IMPORT','closed source depends on isolated source '+target,records[start]['root'],records[start]['path']) + pending.extend(graph.get(target,[])) + findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + retained_findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + manifest_bytes=json.dumps(manifest,sort_keys=True,separators=(',',':'),ensure_ascii=False).encode() + inventories={rid:digest(json.dumps(sorted(r['tracked_files']),ensure_ascii=False,separators=(',',':')).encode()) for rid,r in roots.items() if isinstance(r.get('tracked_files'),list) and all(isinstance(p,str) for p in r['tracked_files'])} + obligations=[{'gate':g,'required_work':work} for g,work in [ + ('G2','All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'), + ('G3','Actual Lean build and no sorry warnings; source scanning does not execute Lean.'), + ('G4','Kernel recheck every closed declaration and all bound binary proof objects.'), + ('G5','Execute retained regression tests; source profile does not establish runtime success or historical test retention.'), + ('G7','Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'), + ('G8','Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'), + ('G10','Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.')]] + return {'schema_version':1,'result':'STATIC_PASS' if not findings else 'FAIL','claim':'bounded static rules only; not CBZ-0 or mathematical proof closure', + 'manifest_sha256':digest(manifest_bytes),'inventory_sha256':inventories,'classified_count':classified_count, + 'scanned_count':scanned_count,'retained_count':len(retained_findings),'findings':findings, + 'fatal_gaps':[f for f in findings if f['code'].endswith('_GAP') or f['code'] in {'MANIFEST','SCOPE_CLASSIFICATION','CLASSIFICATION','FILE_MISSING','FILE_UNREADABLE','IMPORT_UNRESOLVED','EVIDENCE_BINDING'}], + 'retained_findings':retained_findings,'vacuity_observations':observations,'remaining_obligations':obligations, + 'files':[{'root':r['root'],'path':r['path'],'kind':r['entry']['kind'],'expected_sha256':r['entry']['sha256'],'actual_sha256':digest(r['data']) if r['data'] is not None else None} for _,r in sorted(records.items())]} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + sub=parser.add_subparsers(dest='command',required=True) + p=sub.add_parser('audit',help='audit exact controller-supplied tracked scope') + p.add_argument('--manifest',required=True,type=Path) + p.add_argument('--output',type=Path,help='also write deterministic report JSON') + args=parser.parse_args(argv) + try: + raw=args.manifest.read_bytes() + manifest=strict_json(raw.decode('utf-8')) + report=audit(manifest) + report['manifest_file_sha256']=digest(raw) + code=0 if report['result']=='STATIC_PASS' else 1 + except (OSError,ValueError,UnicodeError,RecursionError) as exc: + report={'schema_version':1,'result':'INPUT_ERROR','findings':[{'code':'INPUT','detail':str(exc)}]};code=2 + encoded=json.dumps(report,sort_keys=True,indent=2,ensure_ascii=False)+'\n' + if args.output: + try: + args.output.write_text(encoded,encoding='utf-8') + except OSError as exc: + report={'schema_version':1,'result':'OUTPUT_ERROR','findings':[{'code':'OUTPUT','detail':str(exc)}]} + encoded=json.dumps(report,sort_keys=True,indent=2)+'\n';code=3 + sys.stdout.write(encoded) + return code + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/canonical_lean.py b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/canonical_lean.py new file mode 100644 index 000000000..0a113896a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/canonical_lean.py @@ -0,0 +1,476 @@ +#!/usr/bin/env python3 +"""Layer A textual scanner for Lean 4 sources (CBZ-0 gate G1). + +What it certifies, exactly: + For every scanned ``.lean`` file it reports each *code* token (outside + comments, string literals and char literals) that names a Layer A hazard: + + violation tokens (gate-failing in production context) + A1 placeholders : sorry, admit, sorryAx, admitGoal, mkSorry + A2 trust holes : axiom (declaration keyword), native_decide, + ofReduceBool, ofReduceNat, trustCompiler, + skipKernelTC (kernel-check bypass option), + addDeclWithoutChecking, and the ``decide`` options + ``+native`` / ``native := true`` + review tokens (reported, never gate-failing on their own) + A3 float : Float, Float32 + A2 compiled code: unsafe, implemented_by, extern + A1 tactic stop : ``stop`` as the first token on its line + + ``sorry``/``admit``/``axiom``/``native_decide``/``Float``/``Float32``/ + ``unsafe``/``stop`` match only as a whole undotted identifier; the other + violation tokens also match as the last component of a dotted name + (``Lean.ofReduceBool``, ``debug.skipKernelTC``), including an escaped + component (``Lean.«ofReduceBool»`` and ``«sorryAx»`` name the same + constants). An escaped keyword such as ``«sorry»`` is an ordinary + identifier, not the keyword, and is not flagged. + +Fail-closed: a string, block comment, raw string, interpolated string or +``«`` name left unterminated at end of file is reported as an ``error`` +finding, which fails the run like a violation, because the rest of the +file cannot be lexed reliably. + +What it does NOT certify: + * That a file compiles, or that no placeholder arises through + metaprogramming that never spells a listed token. Gates G2-G4 + (``#print axioms`` / kernel re-check) close that gap; this scanner is a + necessary, not sufficient, condition. + * Anything about non-Lean files (Python bounds are a separate gate). + +Lexing follows Lean 4: ``--`` line comments; nested ``/- -/`` block comments +(including ``/--`` and ``/-!``); ``"..."`` strings with backslash escapes; +interpolated strings (``s!"..{code}.."``, ``m!``, ``f!``) whose ``{}`` +regions are lexed as code; raw strings ``r"..."`` / ``r#"..."#``; char +literals; and ``«...»`` escaped identifiers. + +Standard library only. No floating point is used in any decision. + +Usage: + layer_a_scan.py PATH... scan files/directories + layer_a_scan.py --git REPO --rev REV scan every .lean blob in a git tree +Options: + --json FILE write all findings as JSON + --fail-on CTX comma list of contexts whose violations fail the run + (default: production). Use "all" for every context. +Exit status: 0 = no failing violation, 1 = failing violation, 2 = usage/IO. +""" +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys +import unicodedata + +VIOLATION_EXACT = { + "sorry": "A1", + "admit": "A1", + "axiom": "A2", + "native_decide": "A2", +} +VIOLATION_COMPONENT = { + "sorryAx": "A1", + "admitGoal": "A1", + "mkSorry": "A1", + "ofReduceBool": "A2", + "ofReduceNat": "A2", + "trustCompiler": "A2", + "skipKernelTC": "A2", + "addDeclWithoutChecking": "A2", +} +REVIEW_EXACT = { + "Float": "A3", + "Float32": "A3", + "unsafe": "A2", +} +REVIEW_COMPONENT = { + "implemented_by": "A2", + "extern": "A2", +} +LINE_START_REVIEW = {"stop": "A1"} + +INTERP_PREFIXES = {"s!", "m!", "f!"} +# ``decide +native`` and ``native := true`` select compiler evaluation, i.e. +# ofReduceBool. ``native`` after a ``+`` is flagged even with a space between +# (safe direction: ``x + native`` is a false positive, never a miss). +_NATIVE_TRUE = re.compile(r"\s*:=\s*true(?![A-Za-z0-9_'!?])") +_EXCLUDED_LETTERS = {"λ", "Π", "Σ"} +_CHAR_LIT = re.compile(r"'(?:\\(?:u\{[0-9a-fA-F]+\}|x[0-9a-fA-F]{2}|.)|[^\\'\n])'") + + +def _is_letter(ch: str) -> bool: + if ch in _EXCLUDED_LETTERS: + return False + if ch.isascii(): + return ch.isalpha() + cat = unicodedata.category(ch) + if cat.startswith("L"): + return True + o = ord(ch) + # Letter-like symbols and Greek/Coptic, as Lean's isLetterLike. + return (0x3B1 <= o <= 0x3C9 and o != 0x3BB) or (0x391 <= o <= 0x3A9 and o not in (0x3A0, 0x3A3)) \ + or 0x3CA <= o <= 0x3FB or 0x1F00 <= o <= 0x1FFE or 0x2100 <= o <= 0x214F \ + or 0x1D49C <= o <= 0x1D59F + + +def _is_subscript(ch: str) -> bool: + o = ord(ch) + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A + + +def _id_start(ch: str) -> bool: + return ch == "_" or _is_letter(ch) + + +def _id_rest(ch: str) -> bool: + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or ch.isdigit() \ + or _is_letter(ch) or _is_subscript(ch) + + +def lex_tokens(text: str, errors: list | None = None): + """Yield (name, line, col, line_start, plus_before, follow) per code identifier. + + ``name`` is the full dotted identifier text; an escaped ``«...»`` + component becomes ``\x00`` plus its text (inner dots as ``\x01``), so it + matches constant names but never a keyword. ``plus_before`` says the + identifier follows a ``+`` on its line; ``follow`` is the text after it. + Unterminated constructs are appended to ``errors`` as (line, col, kind). + + Modes are kept on an explicit stack: a ``code`` frame (with a brace + depth when it is an interpolation region) or an ``istr`` frame (the body + of an interpolated string, where ``{`` opens a nested code region). + """ + i = 0 + n = len(text) + line = 1 + col = 1 + line_has_token = False + stack: list[list] = [["code", None]] + if errors is None: + errors = [] + + def advance(k: int): + nonlocal i, line, col, line_has_token + for _ in range(k): + if i >= n: + return + if text[i] == "\n": + line += 1 + col = 1 + line_has_token = False + else: + col += 1 + i += 1 + + def read_ident_tail(parts: list[str]): + # dotted continuation: .ident or .«escaped» + while i < n and text[i] == "." and i + 1 < n and (_id_start(text[i + 1]) or text[i + 1] == "«"): + advance(1) + if text[i] == "«": + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + return + inner = text[i + 1:j] + advance(j + 1 - i) + parts.append("\x00" + inner.replace(".", "\x01")) + else: + s2 = i + while i < n and _id_rest(text[i]): + advance(1) + parts.append(text[s2:i]) + + while i < n: + frame = stack[-1] + c = text[i] + if frame[0] == "istr": + if c == "\\": + advance(2) + elif c == '"': + advance(1) + stack.pop() + elif c == "{": + advance(1) + stack.append(["code", 0]) + else: + advance(1) + continue + # ---- code mode + if c == "-" and text.startswith("--", i): + while i < n and text[i] != "\n": + advance(1) + continue + if c == "/" and text.startswith("/-", i): + start = (line, col) + depth = 0 + while i < n: + if text.startswith("/-", i): + depth += 1 + advance(2) + elif text.startswith("-/", i): + depth -= 1 + advance(2) + if depth == 0: + break + else: + advance(1) + if depth: + errors.append(start + ("unterminated_comment",)) + continue + if frame[1] is not None and c == "{": + frame[1] += 1 + advance(1) + continue + if frame[1] is not None and c == "}": + advance(1) + if frame[1] == 0: + stack.pop() # back to the interpolated string body + else: + frame[1] -= 1 + continue + if c == '"': + start = (line, col) + advance(1) + closed = False + while i < n: + cc = text[i] + if cc == "\\": + advance(2) + continue + advance(1) + if cc == '"': + closed = True + break + if not closed: + errors.append(start + ("unterminated_string",)) + line_has_token = True + continue + if c == "'": + m = _CHAR_LIT.match(text, i) + advance(m.end() - i if m else 1) + line_has_token = True + continue + if c == "«": + start_line, start_col, start_first = line, col, not line_has_token + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + break + inner = text[i + 1:j] + advance(j + 1 - i) + parts = ["\x00" + inner.replace(".", "\x01")] + read_ident_tail(parts) + line_has_token = True + yield ".".join(parts), start_line, start_col, start_first, False, text[i:i + 40] + continue + if _id_start(c): + start_line, start_col, start_first = line, col, not line_has_token + s = i + while i < n and _id_rest(text[i]): + advance(1) + word = text[s:i] + if word == "r" and i < n and text[i] in '"#': + k = i + while k < n and text[k] == "#": + k += 1 + if k < n and text[k] == '"': + close = '"' + "#" * (k - i) + end = text.find(close, k + 1) + if end < 0: + errors.append((start_line, start_col, "unterminated_raw_string")) + end = n if end < 0 else end + len(close) + advance(end - i) + line_has_token = True + continue + if word in INTERP_PREFIXES and i < n and text[i] == '"': + advance(1) + stack.append(["istr", start_line, start_col]) + line_has_token = True + continue + parts = [word] + read_ident_tail(parts) + line_has_token = True + k = s - 1 + while k >= 0 and text[k] in " \t": + k -= 1 + yield ".".join(parts), start_line, start_col, start_first, k >= 0 and text[k] == "+", text[i:i + 40] + continue + if c.isdigit(): + while i < n and (text[i].isalnum() or text[i] in "._"): + advance(1) + line_has_token = True + continue + if not c.isspace(): + line_has_token = True + advance(1) + for frame in stack: + if frame[0] == "istr": + errors.append((frame[1], frame[2], "unterminated_interpolated_string")) + break + + +def classify_token(name: str, line_start: bool, plus_before: bool = False, follow: str = ""): + """Return (kind, layer, severity) or None.""" + last = name.split(".")[-1] + if last.startswith("\x00"): + # escaped component: the same constant name, never a keyword + last = last[1:] + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + if name == "native" and (plus_before or _NATIVE_TRUE.match(follow)): + return "native", "A2", "violation" + if "." not in name: + if name in VIOLATION_EXACT: + return name, VIOLATION_EXACT[name], "violation" + if name in REVIEW_EXACT: + return name, REVIEW_EXACT[name], "review" + if line_start and name in LINE_START_REVIEW: + return name, LINE_START_REVIEW[name], "review" + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + + +_EVIDENCE_SEG = re.compile(r"(^|/)(raw|runs|archive|attempts)(/|$)|-evidence(/|$)") +_CONTROL_NAME = re.compile(r"(?i)(control|negative|mutation|mutant|counterproof|falsifier)") + + +def context_of(path: str) -> str: + p = path.replace("\\", "/") + if _EVIDENCE_SEG.search(p): + return "evidence_copy" + if _CONTROL_NAME.search(os.path.basename(p)): + return "control" + return "production" + + +def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: + out = [] + ctx = context_of(path) + errors: list = [] + found = [] + for name, ln, cl, first, plus, follow in lex_tokens(text, errors): + r = classify_token(name, first, plus, follow) + if r is not None: + found.append((ln, cl, name.replace("\x00", "«").replace("\x01", "."), r)) + for ln, cl, kind in errors: + found.append((ln, cl, "", (kind, "A", "error"))) + for ln, cl, token, (kind, layer, sev) in sorted(found, key=lambda x: (x[0], x[1])): + f = {"path": path, "line": ln, "col": cl, "token": token, "kind": kind, + "layer": layer, "severity": sev, "context": ctx} + if blob: + f["blob"] = blob + out.append(f) + return out + + +def iter_fs(paths): + for p in paths: + if os.path.isdir(p): + for root, dirs, files in os.walk(p): + dirs[:] = sorted(d for d in dirs if d != ".git") + for fn in sorted(files): + if fn.endswith(".lean"): + full = os.path.join(root, fn) + yield os.path.relpath(full, p), full + elif p.endswith(".lean"): + yield p, p + + +def git_lean_blobs(repo: str, rev: str): + env = {k: v for k, v in os.environ.items() if not k.startswith("GIT_")} + ls = subprocess.run(["git", "-C", repo, "ls-tree", "-r", "-z", rev], + check=True, capture_output=True, env=env).stdout + entries = [] + for rec in ls.split(b"\0"): + if not rec: + continue + meta, path = rec.split(b"\t", 1) + mode, typ, sha = meta.split() + p = path.decode("utf-8", "surrogateescape") + if typ == b"blob" and p.endswith(".lean"): + entries.append((p, sha.decode())) + if not entries: + return + proc = subprocess.Popen(["git", "-C", repo, "cat-file", "--batch"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, env=env) + try: + for p, sha in entries: + proc.stdin.write(sha.encode() + b"\n") + proc.stdin.flush() + header = proc.stdout.readline().split() + size = int(header[2]) + data = proc.stdout.read(size) + proc.stdout.read(1) + yield p, sha, data + finally: + proc.stdin.close() + proc.wait() + + +def main(argv=None) -> int: + ap = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + ap.add_argument("paths", nargs="*") + ap.add_argument("--git", metavar="REPO") + ap.add_argument("--rev", default="HEAD") + ap.add_argument("--json", metavar="FILE") + ap.add_argument("--fail-on", default="production") + args = ap.parse_args(argv) + if not args.paths and not args.git: + ap.print_usage(sys.stderr) + return 2 + findings: list[dict] = [] + files = 0 + undecodable = [] + try: + if args.git: + for p, sha, data in git_lean_blobs(args.git, args.rev): + files += 1 + try: + text = data.decode("utf-8") + except UnicodeDecodeError: + undecodable.append(p) + continue + findings += scan_text(text, p, sha) + for rel, full in iter_fs(args.paths): + files += 1 + try: + with open(full, encoding="utf-8") as fh: + text = fh.read() + except UnicodeDecodeError: + undecodable.append(rel) + continue + findings += scan_text(text, rel) + except (OSError, subprocess.CalledProcessError) as exc: + print(f"layer_a_scan: error: {exc}", file=sys.stderr) + return 2 + fail_ctx = None if args.fail_on == "all" else set(args.fail_on.split(",")) + failing = [f for f in findings if f["severity"] in ("violation", "error") + and (fail_ctx is None or f["context"] in fail_ctx)] + summary = {"files": files, "findings": len(findings), + "violations": sum(f["severity"] == "violation" for f in findings), + "errors": sum(f["severity"] == "error" for f in findings), + "failing": len(failing), "undecodable": undecodable} + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"summary": summary, "findings": findings}, fh, indent=1, ensure_ascii=False) + for f in failing: + print(f"{f['path']}:{f['line']}:{f['col']}: {f['layer']} {f['kind']} ({f['context']})") + print(json.dumps(summary, ensure_ascii=False)) + # Undecodable files cannot be certified clean: fail closed. + if undecodable: + return 1 + return 1 if failing else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/mutation_test.py new file mode 100644 index 000000000..32f8f1d46 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/mutation_test.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"if ch in _EXCLUDED_LETTERS:","if False:"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"error('unsupported or unterminated character literal'); advance(i + 1)","advance(i + 1)"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def run_one(name, filename, transform, output_dir): + """Execute the unchanged behavioral suite against a temporary actual checker mutation.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + (root/filename).write_text(changed,encoding='utf-8') + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(root/'tests'),'-p','test_auditor.py','-v'] + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + try: + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + except subprocess.TimeoutExpired as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + tests,failures,errors=parse_test_result(output,p.returncode) + if p.returncode==0 and tests: + outcome='SURVIVED' + elif p.returncode!=0 and tests and failures and not errors: + outcome='KILLED' + else: + outcome='ERROR' + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode,'tests_run':tests, + 'assertion_failures':failures,'errors':errors,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(HERE/'tests'),'-v'] + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + tests,failures,errors=parse_test_result(baseline.stdout,baseline.returncode) + results=[] + if baseline.returncode==0 and tests: + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline.returncode==0 and tests>0 and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/source_checks.py b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/source_checks.py new file mode 100644 index 000000000..fb88863b3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/source_checks.py @@ -0,0 +1,299 @@ +"""Bounded lexical/AST checks. See SPEC.md for claims, trust profile and nonclaims.""" +import ast +from dataclasses import dataclass +import re + +from canonical_lean import lex_tokens as canonical_identifier_tokens, _CHAR_LIT as canonical_character_literal + + +@dataclass(frozen=True) +class Token: + text: str + line: int + column: int + quoted: bool = False + + +def finding(code, detail, line=0): + return {'code': code, 'detail': detail, 'line': line} + + +def lean_tokens(text): + """Tokenize source without interpreting syntax, retaining accurate source locations.""" + tokens, gaps = [], [] + i, line, column, n = 0, 1, 0, len(text) + + def advance(end): + nonlocal i, line, column + segment = text[i:end] + count = segment.count('\n') + column = len(segment.rsplit('\n', 1)[-1]) if count else column + len(segment) + line += count + i = end + + def error(detail): + gaps.append(finding('LEAN_LEXICAL_GAP', detail, line)) + + while i < n: + c = text[i] + if c.isspace(): + advance(i + 1) + elif text.startswith('--', i): + end = text.find('\n', i + 2) + advance(n if end < 0 else end) + elif text.startswith('/-', i): + j, depth = i + 2, 1 + while j < n and depth: + if text.startswith('/-', j): + depth += 1; j += 2 + elif text.startswith('-/', j): + depth -= 1; j += 2 + else: + j += 1 + if depth: + error('unterminated nested block comment') + advance(j) + elif (raw := re.match(r'r(#+)?"', text[i:])) is not None: + marker = '"' + (raw.group(1) or '') + end = text.find(marker, i + raw.end()) + if end < 0: + error('unterminated raw string literal'); advance(n) + else: + advance(end + len(marker)) + elif c == '"': + if i > 0 and text[i - 1] == '!': + error('interpolated string can contain executable terms; requires elaborated certification') + j = i + 1 + while j < n: + if text[j] == '\\': + j += 2 + elif text[j] == '"': + break + else: + j += 1 + if j >= n: + error('unterminated string literal'); advance(n) + else: + advance(j + 1) + elif c == '«': + end = text.find('»', i + 1) + if end < 0: + error('unterminated escaped identifier'); advance(n) + else: + tokens.append(Token(text[i + 1:end], line, column, True)); advance(end + 1) + elif c == "'": + match = canonical_character_literal.match(text, i) + if match is not None: + advance(match.end()) + else: + error('unsupported or unterminated character literal'); advance(i + 1) + elif c.isalpha() or c == '_' or c.isdigit(): + j = i + 1 + while j < n and (text[j].isalnum() or text[j] in "_'" or (text[j] == '.' and j + 1 < n and (text[j + 1].isalpha() or text[j + 1] == '_'))): + j += 1 + tokens.append(Token(text[i:j], line, column)); advance(j) + else: + pair = text[i:i + 2] + if pair in {':=', '=>', '->', '<=', '>=', '!=', '==', '<-'}: + tokens.append(Token(pair, line, column)); advance(i + 2) + else: + tokens.append(Token(c, line, column)); advance(i + 1) + return tokens, gaps + + +def _contradictions(header): + """Detect only declared source shapes; this does not interpret Lean propositions.""" + hypotheses = [] + stack = [] + for i, t in enumerate(header): + if t in {'(', '{', '['}: + stack.append((i, t)) + elif t in {')', '}', ']'} and stack: + start, opening = stack.pop() + interior = header[start + 1:i] + depth, colon = 0, None + for j, word in enumerate(interior): + if word in {'(', '{', '['}: depth += 1 + if word in {')', '}', ']'}: depth -= 1 + if word == ':' and depth == 0: + colon = j; break + if colon is not None: + hypotheses.append(tuple(interior[colon + 1:])) + for i, t in enumerate(header[:-1]): + if t == 'False' and header[i + 1] in {'→', '->'}: + hypotheses.append(('False',)) + candidates = [] + for h in hypotheses: + if h in {('False',), ('Not', 'True'), ('¬', 'True')}: + candidates.append('explicit false hypothesis: ' + ' '.join(h)) + if len(h) == 3 and h[0] == h[2] and h[1] in {'<', '≠', '!='}: + candidates.append('self-strict/disequality hypothesis: ' + ' '.join(h)) + if len(h) == 3 and re.fullmatch(r'[0-9]+',h[0]) and re.fullmatch(r'[0-9]+',h[2]) and h[1] == '=' and int(h[0]) != int(h[2]): + candidates.append('incompatible literal equality candidate: ' + ' '.join(h)) + positive = h[1:] if h and h[0] in {'¬', 'Not'} else None + if positive and positive in hypotheses: + candidates.append('opposing hypotheses: ' + ' '.join(positive)) + return sorted(set(candidates)), [' '.join(h) for h in hypotheses] + + +def check_lean(text): + tokens, findings = lean_tokens(text) + imports, declarations = [], [] + placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'} + native = {'native_decide', 'native', 'ofReduceBool', 'ofReduceNat', 'ofReduceInt', 'trustCompiler', 'skipKernelTC'} + kernel_bypass = {'addDeclWithoutChecking'} + expansion = {'macro', 'macro_rules', 'elab', 'elab_rules', 'syntax', 'unsafe', 'run_elab', 'initialize', 'builtin_initialize', 'implemented_by', 'extern'} + hazards = [] + for raw_name, line, column, first, plus_before, following in canonical_identifier_tokens(text): + parts = raw_name.split('.') + quoted = parts[-1].startswith('\x00') + name = '.'.join(part.removeprefix('\x00').replace('\x01', '.') for part in parts) + hazards.append(Token(name, line, column - 1, quoted)) + for token in hazards: + word = token.text + tail = word.rsplit('.', 1)[-1] + if tail in placeholders and (not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}): + findings.append(finding('LEAN_PLACEHOLDER', word, token.line)) + if tail in {'axiom', 'constant', 'constants'}: + findings.append(finding('LEAN_AXIOM', 'owned/new axiom declaration or reference requires refusal: ' + word, token.line)) + if tail in native: + findings.append(finding('LEAN_NATIVE', 'compiler/native trust escape: ' + word, token.line)) + if tail in kernel_bypass: + findings.append(finding('LEAN_KERNEL_BYPASS', 'unchecked environment declaration insertion: ' + word, token.line)) + if tail in expansion: + findings.append(finding('LEAN_EXPANSION_GAP', 'requires G2/G4 expanded environment certificate: ' + word, token.line)) + if tail in {'Float','Float32'}: + findings.append(finding('LEAN_FLOAT_REVIEW_GAP', 'floating-point use requires a relevant exact mathematical/nonmathematical certificate', token.line)) + for i, token in enumerate(tokens): + word = token.text + if word == 'import': + j = i + 1 + while j < len(tokens): + t = tokens[j] + if (t.line > token.line and t.column == 0) or not re.fullmatch(r'[^\W\d]\w*(?:\.[^\W\d]\w*)*', t.text, re.UNICODE): + break + imports.append(t.text); j += 1 + if j == i + 1: + findings.append(finding('LEAN_IMPORT_GAP', 'missing or unsupported import syntax', token.line)) + if word in {'theorem', 'lemma', 'example'}: + if word == 'example': + name, j = 'example', i + 1 + else: + if i + 1 >= len(tokens): + findings.append(finding('LEAN_DECLARATION_GAP', 'missing declaration name', token.line)); continue + name, j = tokens[i + 1].text, i + 2 + header, depth = [], 0 + while j < len(tokens): + t = tokens[j].text + if depth == 0 and t in {':=', 'where'}: + break + if depth == 0 and t in {'theorem', 'lemma', 'example'}: + break + if t in {'(', '{', '['}: depth += 1 + if t in {')', '}', ']'}: depth -= 1 + header.append(t); j += 1 + if j == len(tokens) or depth != 0: + findings.append(finding('LEAN_DECLARATION_GAP', 'unsupported/incomplete theorem header', token.line)) + contradictions, hypotheses = _contradictions(header) + declarations.append({'key': name + '@' + str(token.line), 'line': token.line, + 'contradictions': contradictions, 'hypotheses': hypotheses}) + return {'findings': findings, 'imports': imports, 'declarations': declarations} + + +EXACT_BUILTINS = frozenset({'abs', 'all', 'any', 'bool', 'dict', 'enumerate', 'int', 'len', 'list', 'max', + 'min', 'range', 'reversed', 'set', 'sorted', 'sum', 'tuple', 'zip', 'frozenset'}) +ALLOWED_AST = frozenset({ + 'Module','ImportFrom','alias','FunctionDef','arguments','arg','Return','Assign','AnnAssign','AugAssign', + 'Expr','Constant','Name','Load','Store','Del','List','Tuple','Set','Dict','Subscript','Slice', + 'BinOp','UnaryOp','BoolOp','Compare','If','IfExp','For','Break','Continue','Pass','Assert', + 'ListComp','SetComp','DictComp','GeneratorExp','comprehension','Call','keyword','Attribute', + 'Add','Sub','Mult','FloorDiv','Mod','Pow','USub','UAdd','Not','Invert','And','Or', + 'Eq','NotEq','Lt','LtE','Gt','GtE','Is','IsNot','In','NotIn','BitAnd','BitOr','BitXor','LShift','RShift', + 'Div','Import', 'Lambda', 'ClassDef', 'AsyncFunctionDef', +}) + + +def check_python(text, mathematical=True): + findings, imports, import_candidates = [], [], [] + try: + tree = ast.parse(text) + except (SyntaxError, ValueError, RecursionError) as exc: + return {'findings': [finding('PY_SYNTAX', str(exc), getattr(exc, 'lineno', 0) or 0)], 'imports': []} + aliases = {'Fraction'} + local_functions = {n.name for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)} + dynamic_aliases = {'__import__', 'eval', 'exec', 'compile', 'globals', 'locals'} + for node in ast.walk(tree): + if isinstance(node, ast.Import): + for alias in node.names: + imports.append(alias.name) + if alias.name in {'importlib', 'builtins'}: + dynamic_aliases.add(alias.asname or alias.name) + elif isinstance(node, ast.ImportFrom): + name = '.' * node.level + (node.module or '') + imports.append(name) + import_candidates.extend(name + '.' + alias.name for alias in node.names if alias.name != '*') + if node.module == 'fractions' and node.level == 0: + for alias in node.names: + if alias.name == 'Fraction': + aliases.add(alias.asname or alias.name) + if node.module in {'importlib', 'builtins'}: + for alias in node.names: + dynamic_aliases.add(alias.asname or alias.name) + allowed_calls = EXACT_BUILTINS | aliases | local_functions + protected = EXACT_BUILTINS | aliases | local_functions | {'__builtins__'} + for node in ast.walk(tree): + line = getattr(node, 'lineno', 0) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in dynamic_aliases: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic executor/importer name requires dependency certifier: ' + node.id, line)) + if isinstance(node, ast.ImportFrom) and (node.level or any(a.name == '*' for a in node.names)): + findings.append(finding('PY_IMPORT_GAP', 'relative/star import requires explicit dependency certifier', line)) + if isinstance(node, ast.Call): + name = node.func.id if isinstance(node.func, ast.Name) else None + dynamic = (name in dynamic_aliases or + isinstance(node.func, ast.Attribute) and + (node.func.attr in {'import_module','__import__','exec_module','load_module','find_spec','spec_from_file_location'} or + isinstance(node.func.value, ast.Name) and node.func.value.id in dynamic_aliases)) + if dynamic: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic execution/loading cannot establish closed dependency boundary', line)) + if not mathematical: + continue + name = type(node).__name__ + if name not in ALLOWED_AST or isinstance(node, (ast.Lambda, ast.ClassDef, ast.AsyncFunctionDef)): + findings.append(finding('PY_AST_GAP', 'unsupported exact-program AST node: ' + name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in {'float','complex','__builtins__'}: + findings.append(finding('PY_INEXACT', 'inexact/reflective value can escape through callbacks: ' + node.id, line)) + if isinstance(node, ast.alias) and node.asname in EXACT_BUILTINS: + findings.append(finding('PY_REBIND', 'import shadows exact builtin: ' + node.asname, line)) + if isinstance(node, ast.FunctionDef): + if node.decorator_list: + findings.append(finding('PY_AST_GAP', 'decorators can replace exact functions', line)) + if node.name in EXACT_BUILTINS | aliases | {'__builtins__'}: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.id, line)) + if isinstance(node, ast.arg) and node.arg in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic parameter: ' + node.arg, line)) + if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)): + findings.append(finding('PY_INEXACT', 'float/complex literal forbidden in mathematical program', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div): + findings.append(finding('PY_INEXACT', '/ may produce float; use Fraction(n,d)', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow): + if not (isinstance(node.right, ast.Constant) and type(node.right.value) is int and node.right.value >= 0): + findings.append(finding('PY_INEXACT', '** requires nonnegative integer literal exponent', line)) + if isinstance(node, ast.Import): + findings.append(finding('PY_IMPORT_GAP', 'only from fractions import Fraction [as alias] is in the exact profile', line)) + if isinstance(node, ast.ImportFrom): + if node.module != 'fractions' or node.level or any(a.name != 'Fraction' for a in node.names): + findings.append(finding('PY_IMPORT_GAP', 'import outside exact fractions profile', line)) + if isinstance(node, ast.Call): + if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls: + findings.append(finding('PY_CALL_GAP', 'call is not a statically named exact builtin/Fraction/local function', line)) + if any(k.arg is None for k in node.keywords) or any(isinstance(a, ast.Starred) for a in node.args): + findings.append(finding('PY_CALL_GAP', 'dynamic argument expansion is outside exact profile', line)) + if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}: + findings.append(finding('PY_ATTRIBUTE_GAP', 'only exact numerator/denominator reads are supported', line)) + if isinstance(node, ast.Attribute) and not isinstance(node.ctx, ast.Load): + findings.append(finding('PY_ATTRIBUTE_GAP', 'attribute mutation is outside exact profile', line)) + if isinstance(node, ast.comprehension) and node.is_async: + findings.append(finding('PY_AST_GAP', 'async comprehension is outside exact profile', line)) + return {'findings': findings, 'imports': sorted(set(imports)), 'import_candidates': sorted(set(import_candidates))} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/tests/test_auditor.py new file mode 100644 index 000000000..39cf38f7c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/tests/test_auditor.py @@ -0,0 +1,579 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/tests/test_mutation_runner.py new file mode 100644 index 000000000..ad04c013f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-admission-fix-source/tests/test_mutation_runner.py @@ -0,0 +1,44 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/BUILD_REPORT.json new file mode 100644 index 000000000..eed62cd70 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/BUILD_REPORT.json @@ -0,0 +1,976 @@ +{ + "admission_repairs": [ + { + "fix": "Refuse explicit builtins/namespace reflection names and defined globals/class/frame reflective attributes in both scopes; no arbitrary runtime dependency completeness claim.", + "gap": "Reflective engineering import boundary", + "mutants": [ + "restore-reflective-builtin-loader-gap", + "disable-reflective-loader-attributes" + ], + "tests": [ + "test_defined_reflective_loader_forms_fail_in_engineering_scope", + "test_bound_engineering_review_cannot_waive_defined_reflective_loader" + ] + }, + { + "fix": "Require supported language for all retained sources regardless of suffix and all mapped external modules; supported source analysis then requires exact registered module.", + "gap": "Retained and mapped external source language/module omission", + "mutants": [ + "skip-retained-text-language-requirement", + "skip-mapped-external-language-requirement" + ], + "tests": [ + "test_retained_text_source_requires_language_then_a_registered_module", + "test_mapped_external_text_module_cannot_skip_supported_source_analysis" + ] + }, + { + "fix": "Known unsupported source suffix always produces LANGUAGE_GAP.", + "gap": "Unsupported suffix claiming Lean/Python", + "mutants": [ + "allow-unsupported-source-extension-language" + ], + "tests": [ + "test_known_unsupported_source_suffix_cannot_claim_a_supported_language" + ] + }, + { + "fix": "Read plain apostrophe/!/? module operands completely; refuse unsupported/escaped/literal operands and trailing syntax instead of silently discarding them.", + "gap": "Lean valid-prefix import truncation", + "mutants": [ + "truncate-primed-lean-imports", + "silence-unsupported-lean-import-tail", + "drop-literal-import-operands" + ], + "tests": [ + "test_import_module_primes_and_identifier_suffixes_are_extracted_completely", + "test_unsupported_import_tail_is_a_gap_after_a_valid_prefix", + "test_primed_lean_module_after_valid_import_cannot_hide_quarantine", + "test_literal_import_operands_are_explicit_gaps_after_valid_prefix" + ] + }, + { + "fix": "Canonical JSON observation comparison preserves Boolean and integer type distinctions.", + "gap": "A7 Boolean/integer equality", + "mutants": [ + "conflate-status-json-booleans-and-integers" + ], + "tests": [ + "test_status_observation_binding_distinguishes_json_booleans_and_integers" + ] + } + ], + "all_final_mutant_results": [ + { + "assertion_failures": 72, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "log_sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089", + "mutated_sha256": "e703ea1df3698d6df11fc27667a3d8f7427dea605a2bb117c7bc81598e4bfb10", + "name": "empty-lean-findings", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "log_sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad", + "mutated_sha256": "f5da7786e5b6414f1e6c469028bf5eec079588ffd08516283315c56a31cba264", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 17, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "log_sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328", + "mutated_sha256": "27dad1ba20178613c169392886d5088b3560eb8e9e825857f013d36ce9311b4a", + "name": "disable-placeholder-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "log_sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc", + "mutated_sha256": "cf0ffc9d029466870832065c5e44ec0ab12f5b4584073dd43d17919ccb90d0fd", + "name": "disable-axiom-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "log_sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736", + "mutated_sha256": "3e343b4125adead71caf8e0118ea89e870df06c4d44c8e843387b97f0ee50e08", + "name": "disable-native-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "log_sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e", + "mutated_sha256": "c1dfac132e805e04aa369c59256b56ff208e0feabff384d32356b5b3b5e970d0", + "name": "disable-unchecked-declaration-refusal", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "log_sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488", + "mutated_sha256": "d400c8e6205ed1fe4bd62ff7ca482e2ded2bf44891c2f9d9f9f1f1ecd7fccbca", + "name": "skip-malformed-character-refusal", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "log_sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0", + "mutated_sha256": "bd88ea1be6e3ca7f55924db8d6c0508dfa6b169285344011a77d3c38e0b49a79", + "name": "miss-escaped-placeholder-helpers", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "log_sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d", + "mutated_sha256": "e30e297691e77d9aad23ab7e1b6087e9f3fd864ad07f13828711b5b083c289a9", + "name": "drop-escaped-constant-normalization", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "log_sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46", + "mutated_sha256": "71ba4a47cbb1b88e1b406fcf5c1aa12725729eb77422a378a376924cf3b19a98", + "name": "miss-multiline-commented-native-config", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "log_sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27", + "mutated_sha256": "5087a4deac94349bb9ab0ed3ff147425f35e5eaa24886c696d835bc520e64ec5", + "name": "disable-macro-gap-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "log_sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d", + "mutated_sha256": "7104259f1468e4bb3207c6badb527c31377f4f75061c55ba6164b7af431fbc29", + "name": "drop-lean-dependencies", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "log_sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4", + "mutated_sha256": "6b50d64b71693b414a88d8695954871d15b7ea1ef20ce631c1a9d50c6cf893ec", + "name": "disable-float-literal-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "log_sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f", + "mutated_sha256": "900f843fa832c44a96855157f777a69e754dadaab01d35ed9f0d061e1c63766b", + "name": "allow-python-division", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94", + "mutated_sha256": "56c9da849e9b13ff4c8259d6a380698db9913c5eeea20ca3f98a8dad8e2a6e49", + "name": "allow-negative-dynamic-powers", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7", + "mutated_sha256": "0f6940e4ebe8fb499ed354e9b55ab198ab93d3e23f9c7227b01d1721d2d86a26", + "name": "allow-unknown-python-calls", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 27, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "log_sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de", + "mutated_sha256": "cde54c7b6c8cf58ffc7502de4e66d37abd9db4c71dc57d114f895cf6e3766e1c", + "name": "disable-exact-python-profile", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "log_sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5", + "mutated_sha256": "28ad54e67290e686da8a2460d344c53dcb6d8e9d44bd3782f9cc487a3fc74bb1", + "name": "allow-reflective-attributes", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836", + "mutated_sha256": "7cf6e55e61db2df9f8e53a2cf1dfb26563305fb92c64ba35c20b935fab282d4c", + "name": "allow-protected-name-rebinding", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "log_sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177", + "mutated_sha256": "575d2b7ba2cc8fd98a46cf259429c8a0fe29e8ba286f18e2249052e5199fd1ae", + "name": "restore-reflective-builtin-loader-gap", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "log_sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9", + "mutated_sha256": "90e657f24ec4358a712073942dfba697412b89beb9b5f75c90fbefe035e5bf48", + "name": "disable-reflective-loader-attributes", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "log_sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9", + "mutated_sha256": "4471994d0c268f39ef2b17edbe881412219d77f8f797e0ab76636f10d09fec4c", + "name": "truncate-primed-lean-imports", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "log_sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4", + "mutated_sha256": "290fb883f7fbc6ccebc556c9aa9e839493116ba6d2adcbf2c86140976bad1aa1", + "name": "silence-unsupported-lean-import-tail", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "log_sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b", + "mutated_sha256": "8d9081e4f8a0898ccf213c8384cad5f4f3d2684942da875ca5d3cd4d4841b591", + "name": "drop-literal-import-operands", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 18, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "log_sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5", + "mutated_sha256": "69e375bc320ca9c6abdea92213403bfd9e12a114301e6a2b6494818e7ccc014e", + "name": "skip-all-but-first-file", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "log_sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889", + "mutated_sha256": "48c96a26ab55f40ede02c74709fb6ebf3335a17f843849f1c921b21e3406c399", + "name": "allow-incomplete-classification", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "log_sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19", + "mutated_sha256": "b84782e338dd822337e2244d634cf2e51aa82c79c4833ae3a621a7ffff99e9ba", + "name": "allow-unknown-classification", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "log_sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb", + "mutated_sha256": "7448dafb9054d2afb3e63b7ff76c7ff1ef489534b69d3d8a4d0634698b3b27d5", + "name": "disable-content-hash-check", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "log_sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea", + "mutated_sha256": "87c24ba07b356e7e364e3127b8971a16052cc5800d298c624b5df91291f6b33f", + "name": "allow-symlink-files", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "log_sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5", + "mutated_sha256": "c2f8571f2282a01b3ea2f55607a3f90a9709adc0ca5ee6ea882bff21a142591a", + "name": "allow-unreadable-files", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "log_sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307", + "mutated_sha256": "61a6f562c034a4f488ad982e414087468bed2b0b6bfb3be2cfc6c3ea40244ec8", + "name": "skip-unreadable-file", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "log_sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f", + "mutated_sha256": "a966ddfd36f30f30278a0bb11e941b6fa4e51b3de359e8b687c88eeb06c0bca7", + "name": "allow-relabeled-source", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "log_sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc", + "mutated_sha256": "607bb74f51e51cc5ee46a0d2295ed3d8ec4e7f2148d6a7030656787cc24e965d", + "name": "skip-retained-text-language-requirement", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "log_sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa", + "mutated_sha256": "e0547a33482dbd4959197807972a0375a36b341bef1e529b6ef5081892eeae56", + "name": "skip-mapped-external-language-requirement", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "log_sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad", + "mutated_sha256": "9ff9077cc4c1d48064801bc58f4c517eebf4268bbe76c4b9ad0484a029d02720", + "name": "allow-unsupported-source-extension-language", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0", + "mutated_sha256": "9a1da07268fbc196c6495d443b104e521c8c6777efd8b41c97d91732600762f6", + "name": "allow-unpinned-external-source", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "log_sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff", + "mutated_sha256": "a0a49c9c1834ffcc896c7fb1b4647e3a6e6ac9861dc4c746e7ada69e55521519", + "name": "skip-nonmath-review", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08", + "mutated_sha256": "5962f12d5e21a42c51dfee0a0e36b08fc026bb8f1749663db160f69e8fedbdaa", + "name": "skip-binary-proof-bindings", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7", + "mutated_sha256": "0ad467e11574af1cec9aca8468bc0c92dbe5ff20a70e8eb2bd13abef6c269c4d", + "name": "ignore-retained-finding-counts", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf", + "mutated_sha256": "c9f8b6957c524f664cfd46989561256d69aebebc76f19d9baa04ed751e7d32f6", + "name": "ignore-quarantine-boundary", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "log_sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f", + "mutated_sha256": "42ffed6fe875e4dd338c529c88c5fb686169f321dd726074ec568533da181a82", + "name": "restore-shadowed-fractions-exemption", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "log_sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df", + "mutated_sha256": "615b24568a15cb997e1fd90a34d8dca843f495aaaea845792f378d182fdc08d3", + "name": "drop-python-submodule-candidates", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "log_sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2", + "mutated_sha256": "590bdfac944636615fa778d6bf15b65d8bf6876e4a691b159ba0faa1697d7c03", + "name": "allow-nonmath-dependency-values", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 7, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "log_sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403", + "mutated_sha256": "b6b81625c837a06e0a873bc91df7e029c6249bcbb7c0e810adb2e2224b5a8b27", + "name": "skip-path-validation", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e", + "mutated_sha256": "3f869d062ddc5004b13fd3a41be7cf30fc09ecd43686c281c1d49db7de5e5f95", + "name": "allow-quarantine-dependency", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5", + "mutated_sha256": "800c195e7c8921678fd2550c76fd7998927e1371b4613165a5324d4cd47ffe74", + "name": "skip-vacuity-coverage", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd", + "mutated_sha256": "e5fb7b3deff8cc149ecb6f53974b07df568c16c798f5420646eb9230840fab4a", + "name": "ignore-contradictory-hypotheses", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993", + "mutated_sha256": "d232b31230cb4f5f9d3e8a144a518e10d62fd1fe9276f95da2b72ad0dee50c8e", + "name": "allow-unbound-nonvacuity", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "log_sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3", + "mutated_sha256": "9192930e190e4adbf064e04dc0decd9efcf833c542939848df5e719c79fe7a3d", + "name": "skip-status-evidence", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "log_sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655", + "mutated_sha256": "3a5046a1453f3d5b2c9ef5fd04127ac2c89d57452f1ac4c1e650dc0f4a81d9ab", + "name": "conflate-status-json-booleans-and-integers", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e", + "mutated_sha256": "0a5b0ff77adaa8364cb1187cb6a638af5b03f1e4097a2e65eb4071b3c6091533", + "name": "allow-arbitrary-foundation-set", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 68, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "log_sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132", + "mutated_sha256": "2456550d625b4153bea1b2083ef2392f1b58920922375c6a5879938f005e47e0", + "name": "empty-final-findings", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 22, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "log_sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5", + "mutated_sha256": "addcfbea27a62bdaf6fc1d8bab2c23943e3d12177bcd521b31fdd35a8856f2a4", + "name": "always-report-static-pass", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + } + ], + "authorization_rulings": [ + "Owner no-approval directive supersedes skill approval/commit/reviewer ceremony; no additional agent, Git or remote action was taken.", + "Full final inventory authority and semantic certificates remain separate from scanner verification; no false federation green.", + "Published public PR29 lexer is exact reused dependency, not a competing canonical lexer; its path heuristics/Git walker are unused.", + "Original mode-guard mutant is preserved and restored; real preopened descriptor fixture kills it, while silent-skip mutant is additional." + ], + "commands": { + "G0": "python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json", + "G1": "python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json", + "development_tests": "python -B -S -m unittest discover -s /workspace/cbz-0/tools/layer_a/tests -v", + "observed_G0": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "/workspace/cbz-0/tools/layer_a/mutation_test.py", + "--output", + "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final.json" + ] + }, + "directory": "/workspace/cbz-0/tools/layer_a", + "error_codes": { + "G0": "0 iff baseline passes and all declared real-source mutants are behaviorally killed; otherwise nonzero", + "audit": { + "0": "STATIC_PASS only", + "1": "blocking findings", + "2": "input/usage error", + "3": "requested output write error" + } + }, + "existing_tool_reuse_assessment": "Existing scoped formal/statement/kernel tools remain separate required certifiers. Exact public PR29 ef5b924 lexer, native blob 0a113896aff4c999111193359c38906ff61e52e8, is unchanged. Its contributor 28/39 evidence is recorded and reused, not rerun. Local G0 covers this adapter and changed supplemental manifest/source/metadata rules. No historical mathematical check was repeated.", + "fatal_gap_policy": "Every unsupported/missing/unreadable/unclassified case produces a blocking finding; unknown imports/macros/FFI/unsupported languages require a relevant certifier or exact isolation. No silent global exemption for engineering floats or quarantine folders.", + "final_source_bindings": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", + "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "historical_log_custody_limit": "Early development baseline/other per-mutant filenames were reused by the next development run. Original failed JSON, stdout summary and named survivor log remain exact and are preserved separately. Final G0 uses receipt-specific directories and the earlier 39 final log/source bindings were validated then. Later generations use distinct receipt-specific logs and exact source snapshots. Current 53 logs plus nine current source bindings were checked after execution.", + "historical_runs": [ + { + "declared": 33, + "killed": 32, + "meaning": "Original permission guard removal survived because ordinary OS PermissionError still rejected the fixture; this was an incomplete test of the explicit privileged-reader policy.", + "receipt": "/workspace/cbz-0/tools/layer_a/evidence/g0-development.json", + "result": "FAIL", + "tests": 44 + }, + { + "declared": 33, + "killed": 33, + "meaning": "Intermediate altered mutant set; not used as final admission evidence. Root required original guard-removal mutant retained; it is restored in final 39.", + "receipt": "/workspace/cbz-0/tools/layer_a/evidence/g0-source-mutations.json", + "result": "PASS", + "tests": 44 + }, + { + "declared": 39, + "killed": 39, + "meaning": "Earlier 56/39 public-lexer integration; unchanged raw evidence reused.", + "receipt": "/workspace/cbz-0/tools/layer_a/evidence/g0-final.json", + "receipt_sha256": "b4342ca431025a44dad0dbd3ebe9e4c5aaf012c1be6f799405be2bcf2e8e01e0", + "result": "PASS", + "source_snapshot": "evidence/pre-hardening-source/", + "tests": 56 + }, + { + "declared": 44, + "killed": 44, + "meaning": "Earlier 60/44 generation; five reviewed admission gaps uncovered obligations outside that finite test set.", + "receipt": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening.json", + "receipt_sha256": "9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619", + "result": "PASS", + "source_snapshot": "evidence/pre-admission-fix-source/", + "tests": 60 + }, + { + "declared": 52, + "killed": 52, + "meaning": "First five-gap repair, 69/52; then literal import operands exposed one additional case within the same grammar obligation.", + "receipt": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix.json", + "receipt_sha256": "ffecf817f294d24ca1f80f21461e1023b6a19af67198f3def876205b886c6295", + "result": "PASS", + "source_snapshot": "evidence/pre-import-literal-fix-source/", + "tests": 69 + } + ], + "implementation_owner": "assigned auditor repair agent; no Git/remote/canonical writes; scoped tools/delivery/discovery only", + "mechanical_contracts": [ + "exact classification for every controller-listed tracked file; source hashes, normalized NFC paths, symlink/readability/encoding checks, no guessed skips", + "Lean hazards outside comments/strings via pinned published identifier lexer; nested comments/raw/characters/Unicode, helper placeholders/native/compiler options and explicit expansion/Float gaps", + "strict integer/Fraction closed-program AST; no float/complex decisions, true division, dynamic powers/calls/imports/reflection or protected-name rebinding", + "all retained negative/quarantined source scanned; exact finding multisets, explicit quarantine boundary and no closed mapped import chain into retained source", + "A6 lexical theorem-location annotations and syntactic contradiction candidates; no arbitrary proposition satisfiability claim", + "A7 exact observed-status schema, content-bound inputs/receipts; binary G2/G4 and engineering nonmathematical review binding checks" + ], + "no_actual_repository_or_mathematical_audit_run": true, + "observed_G0": { + "all_final_source_and_log_bindings_checked": true, + "baseline_errors": 0, + "baseline_failures": 0, + "baseline_tests": 70, + "binding_check": "evidence/admission-final-binding-check.json", + "declared_mutants": 53, + "ended_utc": "2026-10-29T18:08:38.534945+00:00", + "killed_mutants": 53, + "receipt": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final.json", + "receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "result": "PASS", + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T18:08:14.586906+00:00", + "stdout": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final.log", + "stdout_sha256": "377d333157b80c3b4bcf78a12c0a5b38a29ac567b1c23470da86b3cd28674113", + "threshold": "100% of 53 declared checker-source mutants; exact integer counts" + }, + "owner": "root CBZ integrator after canonical admission", + "plan": "/workspace/cbz-0/tools/layer_a/PLAN.md", + "postfix_review": { + "checks_rerun": false, + "conclusion": "All five original findings and literal import extension resolved; no remaining scoped admission blocker", + "provider_distinct": false, + "report": "/workspace/cbz-0/discovery/auditor-postfix-review.md", + "sha256": "fbab0e9c9c4ce6eff06022b9e319516ab9f28d82c5274cd5e83718a60f08f86b" + }, + "preserved_original_survivor": "/workspace/cbz-0/tools/layer_a/evidence/original-permission-survivor/record.json", + "preserved_publication_candidate": { + "archive": "/workspace/cbz-0/delivery/auditor/history/pre-review-candidate.tar.gz", + "metadata": "delivery/auditor/history/pre-review-package-metadata/", + "original_file_count": 174, + "original_payload_byte_count": 2370407, + "sha256": "299c36fe3012e02646356e04ce013d55facd8fc6abea2ebe42ba39ed93c3ea59" + }, + "published_component": { + "bytes": 17697, + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "exact_public_source": "evidence/public-pr29-ef5b924/layer_a_scan.py", + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "immutable_pr_metadata": "evidence/public-pr29-ef5b924/PR_METADATA.json", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "0a113896aff4c999111193359c38906ff61e52e8", + "new_integration_verification": "local hardening G0 covers actual adapter and narrow stricter source policy, including actual checker-source mutations", + "path": "tools/cbz/layer_a_scan.py", + "previous_version": { + "blob": "9393cf7ef6d0665c232556f8df745463f83c9f5e", + "head": "b7eebb4daee0d49f8147e235df7799a15187aa75", + "preserved_source": "evidence/pre-hardening-source/canonical_lean.py", + "prior_receipt": "evidence/g0-final.json" + }, + "published_verification_claim": { + "behavioral_tests": 28, + "mutants": 39 + }, + "published_verification_status": "CONTRIBUTOR_CLAIM_RECORDED_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/Universal-Law-Workspace", + "sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "source_receipt": "evidence/public-pr29-ef5b924/FETCH_METADATA.json", + "unused_interfaces": [ + "classify_token", + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interfaces": [ + "lex_tokens(text)", + "_CHAR_LIT" + ] + }, + "purpose": "Focused exact tracked-file classification/hash audit, source and quarantine dependency isolation, strict closed-program exact Python AST profile, and A6/A7 evidence bindings. G1 complement, not federation proof closure.", + "remaining_obligations": [ + { + "action": "Root supplies authenticated final complete tracked inventory/module map/classifications and runs actual repository audit only after final G0.", + "gate": "G1", + "state": "NOT_RUN" + }, + { + "action": "All elaborated owned declarations including private/generated/macro-injected declarations; exact authenticated imported foundation set propext/Classical.choice/Quot.sound.", + "gate": "G2", + "state": "SEPARATE_REQUIRED_CERTIFIER" + }, + { + "action": "Actual build/no sorry warnings; kernel recheck every closed declaration and bound proof object. Lexical/metadata checks cannot substitute.", + "gate": "G3/G4", + "state": "SEPARATE_REQUIRED_CERTIFIER" + }, + { + "action": "Run retained actual regression and relevant semantic mutation suites; G0 here certifies only this auditor\u2019s declared contracts.", + "gate": "G5/G6", + "state": "ROOT_FINAL_GATES" + }, + { + "action": "Resolve dependency revisions and authenticate Python runtime/fractions implementation and cross-repository consistency.", + "gate": "G7", + "state": "SEPARATE_REQUIRED_BINDING" + }, + { + "action": "Authenticate receipts, nonmathematical review scope, nonvacuity certificates, Markdown reality, historical bounds/test retention and source/module classifications. Scanner checks structure/hashes only.", + "gate": "G8", + "state": "SEMANTIC_AUTHENTICATION_REQUIRED" + }, + { + "action": "Authenticate complete final tracked scope/tree identities; root owns Git and final snapshots.", + "gate": "G10", + "state": "INVENTORY_AUTHORITY_REQUIRED" + }, + { + "action": "Use this registry payload in GOVERNANCE/TOOLING; root/canonical writer owns integration and final federation evidence.", + "gate": "CANONICAL_ADMISSION", + "state": "ROOT_OWNED" + } + ], + "review": "Completed focused same-provider postfix source review resolves all five original findings and literal import operands; no remaining admission blocker in those corrections under the bounded mechanical contract. Reused completed 70/53 G0 and author integrity inspection without rerunning tests or mathematical verification. This is not provider-distinct review or federation closure.", + "schema_version": 1, + "spec": "/workspace/cbz-0/tools/layer_a/SPEC.md", + "status": "BOUNDED_TOOL_G0_PASS_FOCUSED_REVIEW_COMPLETE_READY_FOR_ROOT_PUBLICATION", + "tool_id": "CBZ-LAYER-A-EXACT-SCOPE-v1", + "usage_schema": "/workspace/cbz-0/tools/layer_a/README.md", + "verification_reuse": "All completed applicable evidence was reused. New source defects and changed source/test/spec inputs justified affected G0 generations; no new agent/session/handoff or process-review status justified mathematical rechecking." +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/BUILD_REPORT.md new file mode 100644 index 000000000..fa410d92e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/BUILD_REPORT.md @@ -0,0 +1,35 @@ +# Layer A auditor build report + +The five confirmed admission gaps are repaired. The bounded auditor's current G0 is **PASS: 70 tests and 53/53 actual checker-source mutants killed by assertions, zero mutant errors**. Focused same-provider postfix review found all five original findings and the literal import extension resolved, with no remaining admission blocker in those corrections. The contribution is ready for scoped root publication; actual repository G1 and mathematical federation closure remain separate. + +The current receipt is `tools/layer_a/evidence/g0-admission-final.json`, SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`. The runner completed with exit 0 and unchanged source inputs. Its baseline, all 53 assertion-kill logs and nine checker/test/spec/README/provenance bindings were inspected in `evidence/admission-final-binding-check.json`. Original 44 mutants remain declared. The nine new mutations weaken the reviewed reflection, language, suffix, import-tail and JSON-type checks. Syntax/import/runtime errors and timeouts do not count as kills. + +## Repairs and red evidence + +- Engineering Python now refuses explicit builtins/namespace loader names and defined globals/class/frame reflective attributes. A hash-bound nonmathematical review cannot waive the mapped import boundary. +- Retained source needs supported language and a registered module regardless of suffix. Mapped external modules require actual supported source analysis. Known unsupported source suffixes produce `LANGUAGE_GAP` even when labeled Lean/Python. +- Lean imports retain apostrophe, `!` and `?` identifier suffixes. Unsupported or escaped operands and trailing syntax produce `LEAN_IMPORT_GAP` after a valid prefix. Ordinary/raw string and character operands are retained as invalid operand markers rather than erased. +- A7 observation matching uses canonical JSON, preserving Boolean/integer distinctions. + +The original review's red run had 13 assertion failures across 66 auditor tests (`admission-review-red.log`); those cases pass after the repair. The first changed generation passed 69 total tests and 52 mutants (`g0-admission-fix.json`). A further same-scope import-tail fixture exposed three erased literal operands (`admission-import-literal-red.log`); the final generation contains that fix and the 53rd mutant. Exact first-generation source inputs remain in `evidence/pre-import-literal-fix-source/`. + +## Reused evidence and provenance + +The earlier 60-test/44-mutant receipt remains unchanged at `evidence/g0-hardening.json` (SHA256 `9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619`), with exact source inputs in `evidence/pre-admission-fix-source/`. The older 56/39 generation remains at `evidence/g0-final.json`, with its source inputs in `evidence/pre-hardening-source/`. All initial failed/surviving runs and original permission-guard survivor evidence remain preserved. The previous 174-file publication candidate is archived with its original metadata. New defects warranted the scoped changed-generation G0 runs; no unchanged mathematical verification was repeated. + +The adopted public Workspace PR29 identifier lexer remains byte-identical at head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169`, native blob `0a113896aff4c999111193359c38906ff61e52e8`, SHA256 `eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0`. Its contributor 28/39 claim is reusable inherited evidence and was not rerun. Its heuristic exclusions, Git walker and standalone verdict are unused. + +## Scope, commands and registry + +From the complete published contribution directory: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use fresh output paths and preserve raw historical receipts. Audit exit codes are 0 bounded `STATIC_PASS`, 1 findings, 2 input/usage error, 3 output-write error. The root supplies/authenticates the complete final manifest, classifications, immutable inventory and module identities; no implicit quarantine exclusions exist. Tool id is `CBZ-LAYER-A-EXACT-SCOPE-v1`; runtime is CPython 3.11+ standard library with the exact included lexer. `delivery/auditor/TOOLING_REGISTRY.md` is the proposed integration payload; Root685 owns canonical STATUS/GOVERNANCE/TOOLING and publication. + +The exact manifest/hash/classification and mapped-isolation contract, strict closed-program integer/Fraction AST, explicit engineering review, A6 source candidates and A7 evidence bindings remain bounded. Arbitrary SAT, float/dataflow/loader completeness, semantic certificate truth, actual inventory authenticity, historical weakening, G2/G4/G7/G8 and federation closure are not established. No actual repository G1, Lean build, Git/remote mutation or mathematical check ran in this repair task. + +The pre-fix independent review and completed focused postfix source review are same-provider reviews. The postfix report is `discovery/auditor-postfix-review.md`, SHA256 `fbab0e9c9c4ce6eff06022b9e319516ab9f28d82c5274cd5e83718a60f08f86b`. It reused the completed 70/53 result and integrity evidence without rerunning tests. Any provider-distinct review requirement is a process requirement and does not erase established mathematical or mechanical evidence. Reuse completed applicable checks under unchanged relevant assumptions. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/EVIDENCE_PATH_MAP.json b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/EVIDENCE_PATH_MAP.json new file mode 100644 index 000000000..325583391 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/EVIDENCE_PATH_MAP.json @@ -0,0 +1,1041 @@ +{ + "current_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/baseline.log", + "sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5" + } + ], + "receipt": "evidence/g0-admission-final.json", + "receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "source_generation": "current contribution files", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", + "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "execution_root": "/workspace/cbz-0/tools/layer_a", + "first_admission_repair_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/baseline.log", + "sha256": "035ee585bef84ad7694aa2eaadbd34cbb69e85a4f5dd56671a1ced85863fc7a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "sha256": "8fcf3b72380422db6b5dbc24114c708bba98ed5bb3b2f40c173f57f9b0bfaa3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "f699bd44c76d815cb331b1c67ff92fbdde95b741ba2338e7d952f2ec8c936982" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "sha256": "b02d37e8eb009e184ad2398d9dea0c0dbd84a7fb512d388cbf51b6f8c4578c28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "sha256": "5defe8453000b8075532997bdf321ecc97c4871fea2187ff9523779441248204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "sha256": "c44b8ff36fcf9feb5a4ad3aac21159291f9f33544d9587debc012a3daec8f674" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "a22a6ce8de8ff9ac0ffe2781555a56dad3635a1c8e9852d4f2469e3fc49ae773" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "37cb0baa00a05d3c8524bdb4499362b94fb9ac48e846d1cebbe249d3fae99d68" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "b93b1774c9399a062cf572fbe1bf8bb0e0e9a2df3d4629cd7a590d3587df7a7a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "68a620c649a7a5acf9589261cc8ff48bc3e73b67fe38c1a55bfb4d055c40f85b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "ed9b92ebbf11c7350cb5b4ac83a5d3f0bf3db1e4a8c2dd11c9e0279ca67a4743" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "sha256": "71f5eb78d9fff4be2bdc93d39db51e6bd9cc15ae7ad8cefb39d3ed5d914915b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "sha256": "4762ffe147d97bbda08d62aa931579f2d6417463b9fc6d5e06ecc39fcdeeb922" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "sha256": "ac0ab8b47cc6a1304f497972aba1671a8242adb132c3b34e6b91335af47e5c57" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "sha256": "4bbeea25373dece5b4d3acb87b2ca36516b921e9aa2147994e3c2c6ed06c96c0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "a9d0ffbdfa02fca8578b54427dd75fd94a88b013e94f31897c05797d9f627067" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "sha256": "e4d053e0c5e83d1a7ef4767825aecd97b9970b45ac43f89648ad14250cba84ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "sha256": "8a70910a54a4b99065070d00fae2a54759d31ad6c66b5037040bb1721550c56e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "sha256": "39b1b0e85321a969241316d9b44536461aeac1d4a7f8137882dbd26eceff1529" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "d1eaad42ab14edc5c389fdc23e6ed5be0487073c618b30aea97ee583203a5de2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "7cea846d09e9b5e3a108078b68c21d9bf99f6ff1d3f2a5b3a3d6f2ad1030e22f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "7bd49a32a49acf331192602ecb1bc6adad00d5781446b3e1abcba4130ca99e1d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "861755677918792b728691652430fc3882c5fa34f4e4e172038036f6799ef36f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "fe104794710a9fcc988ec00fd30cc2f0f673fec9f22096cbde41cd3bf82e0960" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "sha256": "c09ce61ced302a636076f019ec0820a0972948c9de56dae191dec7752b36b318" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "sha256": "d7a9b9db84d49725076312dda126f764663560b93d22d4fba450f0a5beb2dcaa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "sha256": "6a1648bad6a0fc958e611409335155e36f5fe755936aa5b1dd20b656511b3aa9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "sha256": "40b6d507b9249f404ee75226b35b504145dffc24c12f0eed0b198d6a2bd8dbb2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "sha256": "aa95a4514c4bc4d3174f8401b4ec749c1ff73e3de3cd77175f76af49b3f47c83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "sha256": "cb8b7c6e0250eef1abef6ac482caebb347501e7630469ebf5bcefe4689de6a77" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "sha256": "5288f1404f514632ece6db189a89c11f47b8923a632c89a8b2a7018c77cafb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "sha256": "157c43b9aba1c3467a6bd5860f28164ddc77ba029cb35121cdaa7cf0497ab44b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "1c789fe8b4a13549591f71cb087b9f7b9283001b80494edc6ac0c3e86a764f8a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "0a8e0c5cdafff4d949cd0dff33a1443f5e8b119406d81b045be591fa07d0d872" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "bbeeb6f474de7076efea92580432fd8c487cb6073fef42cb0c426ab7e5bb4500" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "sha256": "b8d8aa0c1d73aa157b9531dd820b6199d74e332dc598c709911767192c7abe15" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "sha256": "b19d8ae22eb35e50ac83d99534281453b209f0d8822fb1875318b5ee1b11fe5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "aefeb71cc2b4d1dc174bc033f2e98f16a23c1170ce95ccaba6df99094842a8f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "2e0a19abb5fd46ca0926eed2b1d558f816cc999f89ecf0a70906f32f56f11964" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "4eb19695c95a7b8b26ea9ab56b71687ffea97cd046534e27394dba21eaa51d71" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "2411d93838c00ee16f3f3b9458d36a1b203911a57e38784e855b669d080e6b11" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "7ecb303944dd9ebb226f2e492540f04969f595bd0bf678ab1eb6e2733eef5b9e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "42e30f674a6a0d4749ed93ffa21338848245cf7a289f2978a64dd5d08ceaf1ec" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "sha256": "b774c68691c606ca5b75e699055173eccf250fd1f314a22fb1a3cfe94e356cee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "sha256": "19f7934efc959b9d4cf3c9becd537c3a8789f129263e04d3645a643de9800542" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "sha256": "a44a0619efff83a4c27d539f707b940fd5fe3f32df15fd42ab9fdff4c48428c9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "ca0d569d629a4875d91dd6088440e804cbca9899027bc793d3c63f144faf5665" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f7bcb92174ec5093451ae2cc035a2f3da96f5b90aae938613701ffbe850c9df0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "sha256": "7da893fd6a392a8e9ff02db6f5eb34237dfad9ec6389b9a2f54c90a3344c0da9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "09044c473fa4937a26756325814c8b4adeb52f5d48359423983008d83a4398fa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "64e38a3a7c5ad7215a418da61cac96c666ebad04403c332327f20a5e3e847a69" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "sha256": "e658a77937a5c9e1921470bb7563caaa342294cd565d328b6a5e90d6db18abd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "sha256": "175c08d799121faabea62c0bb17adb40e426c984a631598a1e40ce3c0b438140" + } + ], + "receipt": "evidence/g0-admission-fix.json", + "receipt_sha256": "ffecf817f294d24ca1f80f21461e1023b6a19af67198f3def876205b886c6295", + "source_generation": "evidence/pre-import-literal-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", + "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_custody_limit": "Early development reused some baseline/per-mutant filenames. Exact original failed aggregate/stdout/survivor are retained; later receipt-specific final logs and all named source snapshots remain separate.", + "prior_final_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/baseline.log", + "sha256": "b2e6847f813cbd618c30426d1b90b600e14b1aa83b0c46568a2f1e5624ef2c6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-lean-findings.log", + "sha256": "5afc4f4abac0f7a6789db68aacf3fe4880145984c501fd7df42f44a3321fcdab" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "d93390b0a29efce448b7b97c83c2b35fc420e29a997f146dd0e46537a7a206fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "sha256": "ffab4248b6cdc8191139503cbe6b6401ba9d7cadb04c08f36acef00dba44f423" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-axiom-category.log", + "sha256": "74d05966c3bebdc2e451463ee6bd3ff53985554e61235befef92759a8485d6fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-native-category.log", + "sha256": "86e396a97baf1652def570c0caa4f628adcf5934dad230dd52336d8a15473830" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "d267b6b4a659f2a374db686cf7b3ea1836c1d65d1d0b9cfde02812c01870e241" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "c9c9d1020a14f9936c636a2b96bbe2697c93725a7f13c775c01792a29071613c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "sha256": "f38fc00e7e8fb14f2e2f85739eff788d5719e257a6e8a795be0e85d8c6888411" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-python-division.log", + "sha256": "90f67a521041cd7654b217d272778ab4bb70a7e31e5da73254b348ff5f494c53" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "73f5a7d9f04d357bea32a365ad79fe5b10f9a3ff989e4981d46c4ee1a5afcdd4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "077baa995c784ee19b45204ad154ea21039cd30e3d55137782ead735a7a433a6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "a3c138be8887286eb9f7def6ada9c2373699ad38fdb14d5cc3288a5ab49a77df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "072e35971f8c64f6e97151238b531da59a1bbf1bfc525aea1ce1b74f093ce1f8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b030056162cfabc3eeeb8f0c52bb7b9f8ccd274dc8bff0cb79b89c99bc051bad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "59d150c79ba76b270e452e96f593e121bbb6d9f1596f695f248beb6e30a91d6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "e51538ba4caff4b22d0a1ed683957983643a9c2efab94f00fe2f2e97bdce486f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "sha256": "39e9118c52eb4f1e9d60f90390882cf6227fed2180d06195fe7017c2011821af" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "sha256": "a2442444dfe30c439abe9dc06a939b613e4cf3a874cd11619805961f3001942d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-symlink-files.log", + "sha256": "27d31214b243a8162cc7b6d6b5dceb98098be7ca892160a94e38e9a62df1a8ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "sha256": "887d91bffcb4f8de78f67ec87a7136844fc4d9a8afe95300db40a8fa42509fdf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "sha256": "7c0abd09bf090212146c67049cf422154cffb604ae48bdc66be8ea116f5fa697" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c05a5e956756b25788b1fd5a100d8410ca2d8f632134034f9bb35c30bb6536a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "2ced2b97345f4d918819c0997e115b8aae93c5fd248477b8eb6089a7c5f06403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "sha256": "25b32bae46d83b97b109bec534f23760a3aff44551707637643d00cbcb87721d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e1a6b93cc62892ba2c542957b0cbae0cedbd38357fd48fba03e776fae19549f0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "458ab4714ee1afcd62e0a34d4a79ba99d03e5c291a3c39f7361e148325fcc14e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "8061ee644baabc57ef87a2c44cdb08506afcaea0d3a89a8236b4b02f926c799c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "7f4d52b7e3862ecf95bd03bc326fbc434ea0ac42d421acb5394abc28e75716bd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bad6c8a559e9f35ace2d40f2db4b3bea9fe59d4d084304331b6230a075a4cb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f4095f142b139c11cc9a03008b4a728ea2d8fd4d7113f1fdc3979545009359d3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-path-validation.log", + "sha256": "628944a0688f6f8fda1d1a722c3af742c8d6ed5a6f96d034e8b43b2e9a8e0116" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "838e2c072d690d6388da8cd6d3e3dfdbaa06ef083dda80852a55bd152b04c510" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "d9359ef9572c7841d57affc7d37a856b54d8c0e07eab6dd9ba818bbe10bf94f9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "74fd63f8feb8e7921c56a55e2cf840318cbd76f476bc3171f0b6b5ba3e805a58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "64b312cc433929417085e9ff0b569e04ef2ab208acde1900a8e377f8288c8e8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-status-evidence.log", + "sha256": "046a559ed488dbeda388035c65fe05a7ef00f3b5febd232bf7a4992358fe15e6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "a513511511b4cd28e1da6d0b808eb5e45cd8400050f30a51404f1753b5cb7a3c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-final-findings.log", + "sha256": "a5e1246730410f6d2d1b08f7161318bbc30e1512ea9068e8f601dade33bebb2e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/always-report-static-pass.log", + "sha256": "e5cf79344245c5eb68c09182cdf6fd3ee7535c969458290c98c6d20cb0ccb12f" + } + ], + "receipt": "evidence/g0-final.json", + "receipt_sha256": "b4342ca431025a44dad0dbd3ebe9e4c5aaf012c1be6f799405be2bcf2e8e01e0", + "source_generation": "evidence/pre-hardening-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "c0bc0ad327e0dc7729935354e459907045432e146665b2114a4e9b8f7da7a66c", + "README.md": "c3eb2c13df3665e72d9aedb03321a6144b96a42c226a245cdfc27688f812926e", + "SPEC.md": "8380d4bbe2d53c822655c27b0f19740216c1bfdc1cef4598825049d40e1c3f58", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "mutation_test.py": "a2d83c63c9b20e3b52366ff984f3e6595493e1da3d39b50a4c1b3586ec3dfe6d", + "source_checks.py": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "tests/test_auditor.py": "2894e255ef5be4dfad05c42b06266c12d166be4fe99c57301a79a904888efc1f", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "prior_hardening_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/baseline.log", + "sha256": "bd37bf8669df3ae7b450faeee1af77f02b48329dcf2626861e254fec3d9c2d23" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "sha256": "c4587e83122861a0237adbecc165becb3f411abf6e51e822c762724666686713" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "61d02f4280530e8a56c8ce30e5a7f262d02c5ad5519c08c71f074a09709827eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "sha256": "4cb5a8f9b226349a90b914735b2c9435396eee6287196d618af1f5aa7a582a82" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "sha256": "cbf98f43bbd15a5b8d64108601a9954cae55839cd608594f261f12a019752dbc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-native-category.log", + "sha256": "b22eabb8238c3bedef79309510a5d92e91a17b0800e2c18754f366ee98a501a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "8686edc6ae1fe32a14b9aa66d66c8bf2022786daf0f6572ec04b2475858cf83a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "55d3acd966c7d9384d0db2c6f420437a08af5060cf0357d59916ca641c9f248c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "e0c33cc66d79032b41ead944f8b1cda358a2a3c3c34552bce21687fb1495ca25" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "6a9f4b5c4b918bda1d53303d7b48648fff9b4804fda88523c6bcc5587883dcaf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "211ec1bab634374be7a3ca12dff211e293059f11cb2ac1c1f9b814f1ed0a217f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "sha256": "3c4ad9e87a4a98f1ebe8befc0c81d101ce9ecf7c5646dbd52dabc2ab8acaa194" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "sha256": "25cd3661a79e7c5a5e6bd5487a40e6fc88b926ac65eefbdd52b1064a042a0dde" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "sha256": "9c6c214212dbe6cfe36cd65d18eabd9cc2e19522e25762b48992a99798a233da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-python-division.log", + "sha256": "c4d8f33d381d130e20d6f9e20d08e64c46c89574f5a6ea643b7cc42c29fa0e58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "b0fcabb9bfd9e6c182743e938946d281fa0d55fe5c16fb0dfba780b641d4670a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "sha256": "0b008f6ba32d9db12ed65bc22a44ceac76dc5bc5105d33124d6eda104f90b73c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "sha256": "4ea10c9d750f149a5c59088ed436a714a7983e9dafe215b507e627c8683d5fe0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "sha256": "1ed1f484525fb0310b0e3b94ece2f07ae0a9a5f9d4bc3b3a884785a3e2feeb49" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "88fa12659e796a10ae4063dd6cda8a23d4be018b874dff2695cc15bb6f704c40" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "sha256": "dd4c206c1d4214a6490da2b9e23405c1ff7f5e76adeab2d28bed8f8b342a2a1c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "sha256": "cb4772082dc8887c29873814130fe2f01a28cde88baab251791b2f6427b76c01" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "sha256": "257046b4f24b6b58471b2510253cfc5fe763801ca8c999d0362af425f38828c2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "sha256": "6045e698601fe16a93208529417272488024148332e848f9d0b509c21c291204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "sha256": "369055295133c748500c408d7d371a4ef29488d0c22161fb49c6969a465dc3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "sha256": "a1cb4206066ccf5538e24f839774d67d74fc898727f116cea7ddb7aa13c58fef" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "sha256": "4ead5222f76968d334b66969596d3498e8e8e9a657b550e5e525a7e5263fddc1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "sha256": "a16eff825df6cb63dafa28fc0852c0fb429ee011e5011a4677fa394afb2264b8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "sha256": "1c3bcdf1189e2128a11fe50a57220d0a55f7b970a926b8ac05a64c72228c665c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "sha256": "b4ebe7ee7bfa8818c18da972dc64c1a4d271a89fa31d67d3dd83f5534d6e45da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "0f1744f32d0284e72e91012dc946b83b1b032aa994c74ea5c907880cd38d0a0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "5ab7c0439d0e71ca7618c1595e3c9b6695d3c82e66382cb9a21fc58dae2f4068" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "ed8516f2431a2c5752c14151a2fd30707e04cb5dd56ef17854dea4954a22d590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "47b56ba8eb2fb962458f1452544de58ce8260ccd345fc9c71b36c4f2e2253d61" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bf8d81ba19834ddd2b02d81dbdded4facef1dab24c2bf96bcf303746baeafc19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "00124e5e1df955287d1870b0cc755650ced8c66ac4414861c31913ef983c956e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "sha256": "1c649385e7cceb63128ab5787ab284a2949976e1c5466351f7e19b3eaef18816" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "sha256": "89687c72e1d7ebcef094010d2137196689a2399abed75f8d36940e839ef19a9c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "sha256": "978eb2468f165747544737c44c5f90611b9fd109f6c455bbc2758b522502434f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "391b9a461a8f909d3ddef00bdc707b2dcfed55371a357ca0564ff79bf95567c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f5207c74b953d3ca495d6bee17d36449743f90ef4e9e242fe46d92f455707ede" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "sha256": "669fc517a61f88f117abb237704a5ba8db91b479ea94500e8a5132de709ed272" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "ee53fce5e4246153d1f88d4f7d944c25724e810637a5e069900f89efaec5398a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "sha256": "691a2600bcf1b3153d2639dcd86a3a34ddddfb01021db2cbdd7ecf5d98c329ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "sha256": "c1dc3d4532a7cfbb53f2ce28c4a5f406f54296aa8d247bdc4f76844ee2ebab52" + } + ], + "receipt": "evidence/g0-hardening.json", + "receipt_sha256": "9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619", + "source_generation": "evidence/pre-admission-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "f32f736f63c08ec0fd67b4ef4746630e17c39085ab700f5eee8ddda41c87fed0", + "SPEC.md": "75dc927fc35b0dff3f2423957dcf311ea95c9364c1ae3208f670ebe22eac774d", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "a5241db32bbbadbce183aad2ffeae2fc732406fdf01fbec79b3d27a95b06ed2a", + "source_checks.py": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "tests/test_auditor.py": "05095a3fd3cc71bfedd37b57a07e5a4d97ea40e43a7ab3df05fa9967b55d754e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "publication_prefix": "cbz/contributions/math514/layer_a/", + "raw_receipts_unchanged": true, + "schema_version": 1, + "scope": "Byte/source-generation custody map; no G0 or repository/mathematical execution.", + "translation_rule": "Remove execution_root from a raw source/log path and resolve the remainder in this contribution; raw paths are historical provenance, not portable commands." +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/PUBLICATION.md b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/PUBLICATION.md new file mode 100644 index 000000000..535204456 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/PUBLICATION.md @@ -0,0 +1,18 @@ +# Exact-scope auditor publication package + +Current bounded tool G0: **PASS, 70 tests and 53/53 actual checker-source mutants killed by assertions; zero errors**. Receipt `evidence/g0-admission-final.json`, SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`. Nine current source/test/spec/README/provenance bindings and every current assertion-kill log were inspected. The current generation repairs the five original admission-review findings plus literal operands within the same Lean import-tail obligation. + +Completed focused same-provider postfix review: all five findings and literal operands resolved; no remaining scoped admission blocker. Reports: auditor-postfix-review.md + +This package preserves all prior failed/current receipts and logs, exact 56/39, 60/44 and first-repair 69/52 source snapshots, original permission survivor, and exact public ef5b924 lexer provenance. The previous 174-file candidate and its metadata remain archived locally under `delivery/auditor/history/`; prior generation evidence is included in this contribution. Raw historical paths/receipts were not rewritten to appear to run in the publication location. `EVIDENCE_PATH_MAP.json` supplies portable path translation. + +From this complete contribution directory (or after moving the complete layout to `tools/cbz/exact_scope/`): + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use fresh output paths. Packaging checks copied bytes and reuses completed verification; it creates no new gate result. No actual repository G1/G2/G4, Lean build or mathematical verification was run by this contribution task. No Git/remote or canonical root mutation was performed. Root685 owns final manifest, canonical integration, admission and publication. + +See `SPEC.md`, `README.md`, `TOOLING_REGISTRY.md` and `BUILD_REPORT.json` for exact contracts, schema, error codes, all current mutants and remaining G2/G4/G7/G8/G10 obligations. This tool supplies bounded manifest/isolation/AST/metadata checks. It does not decide arbitrary SAT, loader/dataflow completeness, mathematical truth, inventory authenticity, semantic certificate truth, historical weakening or federation closure. Same-provider and provider-distinct process review remain separate from established mathematical/mechanical evidence. Reuse completed applicable checks under unchanged relevant inputs and assumptions. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/TOOLING_REGISTRY.md new file mode 100644 index 000000000..70454357d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-publication/TOOLING_REGISTRY.md @@ -0,0 +1,37 @@ +# Tooling registry payload — exact-scope Layer A auditor + +Root685 owns canonical STATUS/GOVERNANCE/TOOLING integration. This contribution is a proposed bounded auditor entry, not a federation green result. + +| Field | Value | +|---|---| +| Tool id | `CBZ-LAYER-A-EXACT-SCOPE-v1` | +| Contribution location | `cbz/contributions/math514/layer_a/` | +| Alternative admitted location | `tools/cbz/exact_scope/`, preserving the complete layout | +| Runtime | CPython 3.11+ standard library with exact public vendored lexer | +| Contract / schema | `SPEC.md` / `README.md` | +| Purpose | G0 auditor selftests/source mutants; bounded G1 exact manifest/hash/classification/mapped isolation, exact Python AST and A6/A7 binding | +| Current verification | PASS: 70 tests; 53/53 actual checker-source mutants killed by assertions; zero errors; source unchanged | +| Current receipt | `evidence/g0-admission-final.json` | +| Receipt SHA256 | `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7` | +| Earlier generations | 56/39 `g0-final.json`; 60/44 `g0-hardening.json`; first repair 69/52 `g0-admission-fix.json`; exact input snapshots preserved | +| Actual repository G1 | NOT_RUN; root final manifest/authenticated inventory required | +| Mathematical/scientific effect | NONE; no mathematical check or closure claimed | + +Completed focused same-provider postfix review: all five findings and literal operands resolved; no remaining scoped admission blocker. Reports: auditor-postfix-review.md + +From the complete admitted directory: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Choose fresh controller output paths. Raw receipts retain execution-environment paths; `EVIDENCE_PATH_MAP.json` maps them to portable contribution-relative files. Audit exits: 0 bounded STATIC_PASS; 1 findings; 2 input/usage; 3 output-write error. G0 exits 0 only when baseline and every declared mutant satisfy the exact assertion-kill rule; syntax/import/runtime errors and timeouts are not kills. Rebuilding/copying this package does not run G0 or any mathematical check. + +The repaired rules conservatively refuse explicit reflective loader names/attributes in both Python scopes, enforce supported language/module metadata for all retained and mapped external source, reject known unsupported suffixes even when mislabeled, read plain Lean prime/!/? imports completely and refuse unsupported/escaped/literal import operands/tails, and distinguish JSON booleans/integers in A7 observations. The original 44 source mutants remain; nine new mutants cover those repairs. Exact retained finding multisets and mapped direct/transitive quarantine isolation remain enforced. A nonmathematical review cannot waive source import isolation. + +The public lexer remains exact at PR29 head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169`, native blob `0a113896aff4c999111193359c38906ff61e52e8`, SHA256 `eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0`. Its contributor 28/39 claim is recorded inherited evidence, not rerun here. Its heuristic exclusions/Git walker/standalone verdict are unused. + +Concrete separate obligations: G2 authenticates all elaborated owned declarations, including private/generated/macro-injected forms and exactly the approved imported axioms propext/Classical.choice/Quot.sound. G3/G4 actually build/kernel recheck all closed declarations/binaries. G5/G6 preserve/execute actual regression and semantic mutations. G7 authenticates dependency/runtime/fractions pins. G8 authenticates execution receipts, review/certificate truth, statement nonvacuity, classification truth and historical bounds/test retention. G10 authenticates complete final inventory and actual immutable trees. Root owns final admission/G0–G11. Arbitrary Lean SAT, float/dataflow/dynamic-loader completeness, alias expansion and semantic proof validity are not claimed. + +Completed applicable verification is reusable on unchanged inputs and assumptions. New defects/changes justify affected checks; a new agent, handoff or pending provider/process review does not justify mathematical rechecking. Same-provider source review and any provider-distinct process requirement remain separate from mathematical/mechanical evidence. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/LEXER_PROVENANCE.json new file mode 100644 index 000000000..5e6b3930c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/LEXER_PROVENANCE.json @@ -0,0 +1,36 @@ +{ + "bytes": 17697, + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "exact_public_source": "evidence/public-pr29-ef5b924/layer_a_scan.py", + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "immutable_pr_metadata": "evidence/public-pr29-ef5b924/PR_METADATA.json", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "0a113896aff4c999111193359c38906ff61e52e8", + "new_integration_verification": "local hardening G0 covers actual adapter and narrow stricter source policy, including actual checker-source mutations", + "path": "tools/cbz/layer_a_scan.py", + "previous_version": { + "blob": "9393cf7ef6d0665c232556f8df745463f83c9f5e", + "head": "b7eebb4daee0d49f8147e235df7799a15187aa75", + "preserved_source": "evidence/pre-hardening-source/canonical_lean.py", + "prior_receipt": "evidence/g0-final.json" + }, + "published_verification_claim": { + "behavioral_tests": 28, + "mutants": 39 + }, + "published_verification_status": "CONTRIBUTOR_CLAIM_RECORDED_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/Universal-Law-Workspace", + "sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "source_receipt": "evidence/public-pr29-ef5b924/FETCH_METADATA.json", + "unused_interfaces": [ + "classify_token", + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interfaces": [ + "lex_tokens(text)", + "_CHAR_LIT" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/PLAN.md b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/PLAN.md new file mode 100644 index 000000000..3d3fc65c8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/PLAN.md @@ -0,0 +1,20 @@ +# Layer A auditor implementation plan + +> Execution: native by the assigned auditor agent under the owner's explicit no-approval instruction. Apply executing-plans/TDD principles without Git, additional agents, or shared-surface writes. + +Goal: complete focused G0/G1 auditor, selftests, adversarial planted cases and actual checker-source mutations. +Architecture: `auditor.py` contains strict manifest/binding orchestration; `source_checks.py` contains bounded Lean and Python source checks; `tests/test_auditor.py` exercises isolated roots and real CLI; `mutation_test.py` mutates auditor source in temporary copies and reruns behavioral tests. `README.md` gives schema/CLI/error codes; evidence receipts are generated by tests and mutation runner. +Spec: `SPEC.md`. Python stdlib only. No float mathematical decisions. All fixture roots isolated. Every complete applicable check is reused unless source changes warrant affected rechecking. No existing proof checks are rerun. + +Review focus: malformed/ambiguous Unicode paths; hidden interpolation/comment syntax; import aliases and transitive quarantine contamination; partial manifests/missing unreadable files; test harness mutants that delete or skip scanner work. Each gets concrete behavioral cases. + +- [x] Task 1: write tests for lexer, AST exact profile, manifest classifications, quarantine/import boundaries, A6/A7 and CLI; watch the missing implementation fail. +- [x] Task 2: implement source checks and strict manifest audit, resolving only demonstrated gaps; run the scoped auditor suite. +- [x] Task 3: write and execute real-source mutants (empty findings, disabled category, skipped file, permissive unknown classification, pin/hash/path/annotation/evidence/boundary weakening); require 100% killed by behavior. +- [x] Task 4: self-review source/spec/test coverage, complete README/schema/examples, capture commands/results/source bindings, emit root registry report. Actual repository G1 waits for root's final manifest and G0 success. + +Rulings: no tool replaces all-declaration G2/kernel G4. No owned-source axiom exception can be created by naming it an approved foundation. No additional independent reviewer is spawned because root explicitly forbids other agents; self-review is disclosed. Approval/commit steps in skills are superseded by root authorization and ownership constraints. + +Completion evidence: `evidence/g0-final.json`: 56 tests pass, 39/39 actual checker-source mutants killed by assertions, source unchanged. Exact final log and source bindings checked after execution. Actual federation G1 is NOT RUN pending root final scope. Final review: self-review under explicit no-other-agents restriction; no independent reviewer or mathematical recheck was invented. + +Admission repair handoff: five confirmed same-provider review gaps and the same-scope literal import extension repaired. Current receipt `evidence/g0-admission-final.json`: 70 total tests, 53/53 source mutants killed, nine current source bindings and every current assertion-kill log checked. Prior 56/39, 60/44 and first-repair 69/52 receipts/sources remain separate. No actual repository G1 or mathematical recheck; root owns focused review, publication and canonical integration. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/README.md b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/README.md new file mode 100644 index 000000000..f40e80af5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/README.md @@ -0,0 +1,119 @@ +# CBZ exact-scope Layer A contribution + +This tool contributes classification/hash/import isolation, a strict exact-arithmetic Python AST profile and A6/A7 evidence bindings. It reuses the published PR29 identifier lexer. It does **not** replace federation G2/G4 or declare mathematical closure. The authoritative mechanical contract and limitations are in [SPEC.md](SPEC.md). + +## Commands + +With Python 3.11 or newer, change into the complete tool directory at your chosen repository-relative destination, for example `cbz/contributions/math514/layer_a/` or `tools/cbz/exact_scope/`: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use a fresh controller output path per run; preserved raw development receipts are immutable historical evidence. Raw receipt paths identify the local environment where they ran, not publication execution paths. Run the second command for an actual repository only after the first succeeds and the controller has prepared its final tracked-file scope. G0 runs every local selftest, then actual temporary checker-source mutants. G1 reads files only; it never runs Git, Lean, project Python, external commands or mathematical checks. Its report is deterministic for identical manifest bytes/files/tool. `audit(manifest)` is also available to isolated fixture tests; it accepts the parsed object and returns the report. + +Audit exit codes: **0** bounded `STATIC_PASS`; **1** one or more blocking findings; **2** invalid/unreadable JSON or command-line usage; **3** requested report output could not be written. `STATIC_PASS` always carries outstanding G2/G3/G4/G5/G7/G8/G10 obligations. Every finding blocks the static result; `fatal_gaps` is the subset that specifically identifies missing/unsupported certification. Retained isolated findings appear separately and never mean those files are clean. CLI input errors produce JSON except argparse usage errors. G0 exit 0 means every declared mutant was killed; any surviving/invalid/crashing mutant or baseline error is nonzero. No weakening/skip option exists. + +To run selftests alone (development, not a replacement for G0): + +```sh +python -B -S -m unittest discover -s tests -v +``` + +## Manifest schema v1 + +JSON accepts integers only; duplicate keys, floats, NaN and Infinity are rejected. Top-level keys are **exactly**: + +```json +{ + "schema_version": 1, + "approved_axioms": ["propext", "Classical.choice", "Quot.sound"], + "roots": [ + { + "id": "math", + "path": "/absolute/final-tree", + "tree_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "tracked_files": ["Closed.lean"], + "files": { + "Closed.lean": { + "sha256": "<64 lowercase hexadecimal content digest>", + "kind": "project_lean", + "module": "lean:Closed", + "vacuity": { + "t@1": { + "status": "conditional", + "premises": [], + "reason": "No nonvacuity certificate claimed; elaborated statement review remains G2/G8." + } + } + } + } + } + ], + "module_map": {"lean:Closed": "math:Closed.lean"} +} +``` + +This is a schema illustration: replace the absolute root, immutable tree id, exact inventory and actual SHA256 values. Roots are nonempty, normalized absolute directories with unique ASCII ids (`[A-Za-z0-9_-]+`) and nonoverlapping paths. A tree id is 40 or 64 lowercase hexadecimal characters; G10 authenticates its connection to the supplied inventory. Every root has a nonempty unique list of normalized relative NFC paths, no `..`, backslashes or symlink component. `files` keys equal `tracked_files` exactly. No exclusions or inferred quarantine folders exist. The controller supplies the full final tracked scope; untracked state and inventory authenticity remain G10. + +Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable to its kind fail. Additional fields by kind: + +| kind | Fields and obligations | +|---|---| +| `project_lean` | `module`, `vacuity` required; `.lean` source | +| `math_python` | `module` required; `.py`/`.pyi` closed exact-program profile | +| `engineering_python` | `module`, `nonmath_review` required; `.py`/`.pyi`; floats only in explicit bound nonmathematical reviewed scope | +| `negative_fixture` | `language`, `module`, `expected_findings`, `fixture_purpose`; retains actual negative tests | +| `quarantined_source` | `language`, `module`, `expected_findings`, `quarantine`; exact terminal isolation | +| `external_pinned` | `pin` required; source requires supported `language`/`module` and Lean `vacuity`; optional binary `bindings` | +| `binary_proof` | `bindings` required, optional `pin`; bytes are not treated as text | +| `documentation`, `data` | optional `status_evidence: true` for JSON status surfaces; other known source/proof suffixes cannot be relabeled this way | + +`language` is `lean` or `python`. Retained source always requires language and a registered module, including a `.txt` filename; a mapped external module likewise requires supported source analysis. Historical `.lean.txt`/`.py.txt` source is recognized. Known unsupported source extensions fail with `LANGUAGE_GAP` even if labeled Lean/Python; they require an appropriate certifier, not arbitrary data labeling. Nonbinary files must decode strict UTF-8. Actual reads and explicit permission bits are checked, including under a privileged reader. Immutable `pin` is exactly `{ "revision": "<40 or 64 lowercase hex>", "origin": "" }`. Dependencies are scanned, never automatically declared safe by pinning. Known binary object suffixes also require G2/G4 bindings when `external_pinned`. + +A source module has exactly one identity, e.g. `lean:Closed.Base` or `python:certifier`, and its one `module_map` value is `rootid:relative/path`. Maps cannot point to documents or alias a differently declared module. Explicit imports resolve through this map. Closed code may not reach negative/quarantined source through any mapped import chain. Python `from fractions import Fraction [as alias]` is the sole built-in exact-math profile import; G7 must bind/authenticate that Python runtime and fractions implementation. Mapped local `fractions` modules take precedence over the stdlib exception; a mathematical source cannot depend on an engineering-only replacement. Python mapped package prefixes and `from package import submodule as alias` candidates also enter the isolation graph. Other unknown imports, relative/star imports, reflective loaders, macro expansion and unsupported mechanisms remain reported gaps. Plain Lean module identifiers including apostrophe, `!` and `?` suffixes are extracted completely. Unsupported or escaped operands and trailing syntax are explicit `LEAN_IMPORT_GAP` findings even after a valid prefix. Both Python scopes refuse explicit reflective namespace entrypoints (`__builtins__`, `vars`, `getattr`, `setattr`, `delattr`, globals/locals and defined globals/class/frame attributes); an engineering review does not waive that boundary. There is no general import/dataflow completeness claim. + +## Retained source and certificates + +`expected_findings` is an exact map of checker code to positive integer occurrence count, e.g. `{"LEAN_PLACEHOLDER": 1}`. `{}` is valid for a retained semantic failure that has no lexical violation; G5 still must retain and execute its actual failing test. Missing or extra scanner findings block. No retained source is counted as clean. + +A quarantine object has exactly: + +```json +{"id":"Q-1","boundary":"root:path and exact isolated mathematical boundary","blocking_reason":"specific unproved fact","owner":"none","maintenance":"zero"} +``` + +All evidence references have exactly `{"root":"id","path":"relative/file.json","sha256":""}`. The referenced file must itself be classified, readable, hash-bound JSON inside the manifest. Binding is mechanical; authentication and truth of its review/certificate are G8/controller work. + +An engineering `nonmath_review` reference points to exactly: + +```json +{"type":"nonmathematical_review","source_sha256":"","scope":"nonmathematical_execution_only","reviewer":"identified reviewer","rationale":"explicit reviewed execution scope; no mathematical certification"} +``` + +This is an affirmative review claim, not a waiver for mathematical floats. The controller must substantiate it. + +Lean `vacuity` keys cover exactly every lexical theorem/lemma/example as `name@line` (anonymous `example@line`). An entry has `status`, nonempty `reason`, and only the following applicable fields: + +- `conditional`: explicit `premises` string list, possibly empty; no satisfiability claim. +- `vacuous`: reason naming the unsatisfiable source-shaped hypotheses; syntactic contradiction candidates require this classification. +- `nonvacuous`: `evidence` reference to `{ "type":"nonvacuity_certificate", "subject_sha256":"", "declaration":"name@line", "witness_description":"actual witness and certificate description" }`. + +Candidates are syntax observations; arithmetic interpretations, aliases and arbitrary proposition SAT are not decided. G8 must validate the semantic interpretation of annotations, and G2 must expose generated/aliased statements. Conditional status never closes a mathematical hypothesis obligation. + +Binary `bindings` is exactly `{"G2":,"G4":}`. Each reference points to a passing JSON object with `type: "kernel_evidence"`, corresponding `gate`, `subject_sha256` equal to the object's content hash, `observed_status: "PASS"`, integer `exit_code: 0`, a nonempty command list and nonempty `run_id`. G2/G4 must actually supply/authenticate that result; byte/hash presence cannot create it. + +## Status evidence schema + +A file with `status_evidence: true` contains exactly required fields `schema_version:1`, `gate:G0..G11`, `observed_status:PASS|FAIL|NOT_RUN|ERROR|INACCESSIBLE`, nonempty `run_id`, nonempty string-list `command`, `exit_code`, and nonempty `inputs` mapping `rootid:path` to actual content SHA256. The only optional field is `evidence`, a bound JSON reference. `PASS` requires integer exit 0; `FAIL` requires nonzero integer exit; other observed execution states require integer exit. The observation JSON must equal all status fields except the evidence pointer, using canonical JSON comparison that distinguishes booleans from integers. `NOT_RUN` requires null exit and no observation evidence. This checks structure and bindings, never an aspirational Markdown label or command execution authenticity. + +## Published lexical reuse and evidence + +`canonical_lean.py` is the unchanged public `tools/cbz/layer_a_scan.py` from Universal-Law-Workspace PR29, head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169`, native Git blob `0a113896aff4c999111193359c38906ff61e52e8`. `LEXER_PROVENANCE.json` records exact source binding and inherited verification claims. We call only its `lex_tokens`; its heuristic path contexts, default exclusion behavior, filesystem/Git walking and standalone CLI are **not used**. Our manifest classifies every supplied file explicitly. Its published 28-test/39-mutant claim is recorded as inherited contributor evidence and was not rerun here. Our added integration tests cover the reported unchecked insertion, escaped helpers, malformed character literals and multiline/comment-separated native configurations. The previous b7eebb4 source and its G0-bound integration are preserved under `evidence/pre-hardening-source/`. Its earlier published tests are reusable evidence, not fresh federation gate evidence. Our integration tests and checker-source mutations exercise the adopted lexer at this boundary. + +G0 receipts bind the actual checker/test/spec/README source hashes and each changed checker hash/log. Invalid syntax, import/runtime errors and timeouts do not count as killed mutants. Identity-mutant and crashing-mutant tests verify the harness itself. Initial red runs and the original permission-guard survivor are retained as development evidence; the original guard-removal mutant remains in the final declared set alongside the actual skip-file mutant. The privilege-descriptor fixture kills the original by assertion. All final threshold decisions use exact integer counts, never floating point. + +Owned by the root CBZ integrator after admission. This agent only writes this directory and its discovery build report. Root owns the final registry, tracked scope, source receipt verification, G0–G11 final run and any CBZ-0 declaration. + +Hardening scope: `Environment.addDeclWithoutChecking` and qualified/escaped forms are blocking `LEAN_KERNEL_BYPASS` findings. Escaped `admitGoal`/`mkSorry` helper constants are refused alongside `sorryAx`. Unterminated character literals fail with `LEAN_LEXICAL_GAP`. Every exact `native` identifier is conservatively refused, so native configuration flags do not evade detection through whitespace, line breaks or nested comments; this policy can also reject harmless uses of that identifier. Comments and ordinary/raw strings remain noncode. No arbitrary alias expansion, semantic kernel trust or SAT completeness is claimed. The finite planted layouts are listed in `evidence/hardening-assessment.json`. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/SNAPSHOT_BINDING.json b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/SNAPSHOT_BINDING.json new file mode 100644 index 000000000..0981b9a96 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/SNAPSHOT_BINDING.json @@ -0,0 +1,265 @@ +{ + "files": { + "LEXER_PROVENANCE.json": { + "bytes": 1403, + "sha256": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db" + }, + "PLAN.md": { + "bytes": 3229, + "sha256": "63166c3c703c1312205f5995ea78b208eaf50bd2f609419724a1c710a4cfc57e" + }, + "README.md": { + "bytes": 13369, + "sha256": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888" + }, + "SPEC.md": { + "bytes": 10010, + "sha256": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29" + }, + "auditor.py": { + "bytes": 26427, + "sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710" + }, + "canonical_lean.py": { + "bytes": 17697, + "sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0" + }, + "evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log": { + "bytes": 14940, + "sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e" + }, + "evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log": { + "bytes": 11664, + "sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889" + }, + "evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log": { + "bytes": 12424, + "sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94" + }, + "evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log": { + "bytes": 11671, + "sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2" + }, + "evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log": { + "bytes": 11874, + "sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836" + }, + "evidence/g0-admission-final-mutation-logs/allow-python-division.log": { + "bytes": 11744, + "sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f" + }, + "evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log": { + "bytes": 14093, + "sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e" + }, + "evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log": { + "bytes": 11786, + "sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5" + }, + "evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log": { + "bytes": 12278, + "sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f" + }, + "evidence/g0-admission-final-mutation-logs/allow-symlink-files.log": { + "bytes": 11678, + "sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea" + }, + "evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log": { + "bytes": 11641, + "sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993" + }, + "evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log": { + "bytes": 11652, + "sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19" + }, + "evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log": { + "bytes": 15359, + "sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7" + }, + "evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log": { + "bytes": 11677, + "sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0" + }, + "evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log": { + "bytes": 11681, + "sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5" + }, + "evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log": { + "bytes": 12700, + "sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad" + }, + "evidence/g0-admission-final-mutation-logs/always-report-static-pass.log": { + "bytes": 78953, + "sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5" + }, + "evidence/g0-admission-final-mutation-logs/baseline.log": { + "bytes": 11594, + "sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546" + }, + "evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log": { + "bytes": 11953, + "sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad" + }, + "evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log": { + "bytes": 11687, + "sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655" + }, + "evidence/g0-admission-final-mutation-logs/disable-axiom-category.log": { + "bytes": 15619, + "sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc" + }, + "evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log": { + "bytes": 12220, + "sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb" + }, + "evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log": { + "bytes": 31432, + "sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de" + }, + "evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log": { + "bytes": 12416, + "sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4" + }, + "evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log": { + "bytes": 16161, + "sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27" + }, + "evidence/g0-admission-final-mutation-logs/disable-native-category.log": { + "bytes": 34619, + "sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736" + }, + "evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log": { + "bytes": 31467, + "sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328" + }, + "evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log": { + "bytes": 12834, + "sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9" + }, + "evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log": { + "bytes": 19838, + "sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e" + }, + "evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log": { + "bytes": 25542, + "sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d" + }, + "evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log": { + "bytes": 14427, + "sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d" + }, + "evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log": { + "bytes": 13575, + "sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b" + }, + "evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log": { + "bytes": 11682, + "sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df" + }, + "evidence/g0-admission-final-mutation-logs/empty-final-findings.log": { + "bytes": 64196, + "sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132" + }, + "evidence/g0-admission-final-mutation-logs/empty-lean-findings.log": { + "bytes": 97211, + "sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089" + }, + "evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log": { + "bytes": 11699, + "sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd" + }, + "evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log": { + "bytes": 11656, + "sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf" + }, + "evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log": { + "bytes": 12318, + "sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7" + }, + "evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log": { + "bytes": 12700, + "sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0" + }, + "evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log": { + "bytes": 19270, + "sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46" + }, + "evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log": { + "bytes": 15897, + "sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177" + }, + "evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log": { + "bytes": 12278, + "sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f" + }, + "evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log": { + "bytes": 14174, + "sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4" + }, + "evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log": { + "bytes": 28911, + "sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5" + }, + "evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log": { + "bytes": 12214, + "sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08" + }, + "evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log": { + "bytes": 16742, + "sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488" + }, + "evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log": { + "bytes": 11675, + "sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa" + }, + "evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log": { + "bytes": 11658, + "sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff" + }, + "evidence/g0-admission-final-mutation-logs/skip-path-validation.log": { + "bytes": 17040, + "sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403" + }, + "evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log": { + "bytes": 11669, + "sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc" + }, + "evidence/g0-admission-final-mutation-logs/skip-status-evidence.log": { + "bytes": 12863, + "sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3" + }, + "evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log": { + "bytes": 12254, + "sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307" + }, + "evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log": { + "bytes": 11706, + "sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5" + }, + "evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log": { + "bytes": 12496, + "sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9" + }, + "evidence/g0-admission-final.json": { + "bytes": 34522, + "sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7" + }, + "mutation_test.py": { + "bytes": 13743, + "sha256": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623" + }, + "source_checks.py": { + "bytes": 17380, + "sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94" + }, + "tests/test_auditor.py": { + "bytes": 39047, + "sha256": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e" + }, + "tests/test_mutation_runner.py": { + "bytes": 1893, + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "source_head": "027505fee908693ded0a9e99eaa974ea6f419c6b" +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/SPEC.md b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/SPEC.md new file mode 100644 index 000000000..80e7941a8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/SPEC.md @@ -0,0 +1,35 @@ +# CBZ Layer A static auditor — bounded specification + +Purpose: G0 tests the auditor itself; G1 checks a root-authorized exact tracked-file manifest. This is a focused Python-stdlib command, not a Lean parser, kernel, SAT solver, Python interpreter or general framework. A successful result is `STATIC_PASS`, never CBZ-0 or proof closure. + +## Authority and scope + +The final federation controller supplies schema v1: exact roots, immutable tree identifiers, complete tracked-file lists, and one hash-bound classification per tracked file. The auditor validates every listed file, exact classification coverage, normalized paths, absence of symlink aliases, UTF-8 where applicable, readability, content SHA256, and all class-specific obligations. It never guesses exclusions or silently skips a file. The authority/completeness of the supplied Git inventory remains G10; this tool deliberately does not run Git. Its report binds manifest bytes, inventory lists and every scanned file. The manifest is supplied outside the audited root in tests; production may bind it as controller evidence outside its own hash cycle. + +Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_fixture`, `quarantined_source`, `external_pinned`, `binary_proof`, `documentation`, `data`. Source-looking extensions cannot be relabeled documentation/data. Every source, including quarantined and negative source, is scanned. Retained negative/quarantined source must name its exact expected finding multiset; extra or absent findings fail. Quarantine additionally records an exact nonempty boundary, blocking reason, id and source hash. These records are dispositions, not clean source. Binary proofs require content-bound G2 and G4 evidence references. External files require immutable revision pin metadata; no implicit dependency trust exception exists. + +## Mechanical claims + +Lean: the unchanged public PR29 identifier lexer (`canonical_lean.py`, provenance in `LEXER_PROVENANCE.json`) supplies the hazard stream; a bounded punctuation/header lexer supplies metadata and fail-closed malformed-input detection. Together they handle line comments, nested block comments, ordinary/raw string literals, character literals, escaped identifiers and Unicode identifier boundaries. It refuses malformed lexical constructs and interpolation (which can contain executable terms). Outside comments/strings it detects exact `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, axiom/constant declarations, `native_decide`, `native`, `ofReduceBool`, `ofReduceNat`, `ofReduceInt`, `trustCompiler` and `skipKernelTC`, including qualified forms. `addDeclWithoutChecking` (qualified/escaped forms included) is a blocking unchecked-kernel-insertion hazard. Escaped `sorryAx`/`admitGoal`/`mkSorry` constant names remain hazards, while escaped keyword identifiers such as `«sorry»` are not logical placeholders. An exact `native` identifier is always refused, conservatively covering native-decide configuration across whitespace, newlines and nested comments without depending on a follow-text regular expression. Float/Float32 and unsafe/macro/elaborator/FFI syntax are flagged for explicit G2/G4 follow-up because lexical inspection cannot certify its expansion. Imported project macros can inject axioms without these tokens: G2 must enumerate ALL elaborated owned declarations, including private/generated ones, and G4 must kernel recheck them. + +Approved foundation declaration profile: **no newly declared owned source axiom is permitted**, even when named `propext`, `Classical.choice` or `Quot.sound`. The approved imported transitive axiom set is exactly `{propext, Classical.choice, Quot.sound}`; only G2's all-declaration kernel environment audit can authenticate that set and those actual declarations. Lexical source naming cannot create an exception to it. Dependencies are immutable pinned inputs, not arbitrary new foundation declarations. + +Math Python: an explicit AST allowlist accepts closed-program exact integer/`fractions.Fraction` arithmetic, exact builtins and statically named local functions. No floating/complex literals, `/`, unrestricted powers, arbitrary imports, dynamic calls, reflective attributes, classes, decorators, async, external input, exceptions as proof, or builtin/Fraction rebinding. `**` requires a nonnegative integer literal exponent. Fraction import aliases are supported and protected. This is a conservative syntactic exact-arithmetic profile, not arbitrary interprocedural float-dataflow analysis. Functions are certified only as part of the closed program; external callers are outside the profile. Engineering Python allows floats only with a hash-bound explicit review declaring nonmathematical execution scope; it is parsed and dependency checked, never silently admitted as mathematical certification. + +Boundary checks: explicit Lean and Python imports from closed sources resolve through `module_map` to classified pinned files. Closed code cannot import quarantine or negative fixtures, including transitive import chains. Plain Lean module operands include apostrophe, `!` and `?` identifier suffixes; an unsupported operand or trailing token is a gap even after a valid module prefix. Escaped module syntax is outside this bounded import parser and is refused. Python refuses explicit reflective namespace/loader entrypoints in both mathematical and engineering source, including builtins/namespace names and the defined globals/class/frame reflective attributes; a nonmathematical review cannot waive import isolation. Unresolved/dynamic/unsupported import mechanisms are fatal gaps (or exact retained findings in isolated source); no claim of arbitrary runtime dependency completeness is made. The module map must agree with per-file declared module identities and cannot alias names. Retained source requires supported language/module metadata regardless of suffix; an external mapped module also requires a supported source language. Known unsupported source suffixes remain gaps even if labeled Lean/Python. G2/G4 must account for generated modules, macros, FFI and runtime-dependent loading; unknown cases are never green. + +A6: every lexical theorem/lemma/example has an entry keyed `name@line` (`example@line` for anonymous examples). Entries are `conditional` with explicit premises/reason, `nonvacuous` with a bound evidence reference, or `vacuous` with a reason. Syntactic candidates (`False` hypothesis, `False →`, opposing `P`/`¬P`, self-strict inequality/disequality, incompatible literal equality) require `vacuous` classification. These are source-shape candidates, not a decision procedure for Lean proposition satisfiability; aliases, typeclass interpretations and arbitrary semantic inconsistency require separate certificates/G2 elaborated statement review. The report lists all detected candidates and all conditional claims. + +A7: status JSON is checked only when explicitly bound with `status_evidence`: exact allowed observed state, gate id, command, run id, input hashes, evidence reference and exit code must agree. Observation equality uses canonical JSON serialization so booleans and integers remain distinct. An observation file is evidence structure/content binding, not authentication that the command actually ran. G8/controller execution receipts supply that provenance. Markdown truth and no-weakened-bound historical intent are outside lexical decidability; they require G8 and source-history review respectively. + +## Nonclaims and hard limits + +No source scanner proves arbitrary mathematics, satisfiability, bound strength, historical test retention, semantic status truth, pin compatibility, kernel trust, command execution or external review authenticity. G2/G3/G4/G5/G7/G8/G10 and relevant manual certificates remain explicit obligations. `STATIC_PASS` covers only the stated mechanical rules under the supplied final tracked inventory. Any missing/unsupported case is a finding/fatal gap, never a skipped green case. Test/mutation scores are finite declared coverage, not a proof of all possible checker behavior. + +## Delivery and authorization + +Owner's explicit autonomous directive supersedes skill approval/branch/commit/reviewer ceremony. Work is confined to `tools/layer_a/` and `discovery/auditor-build-report.{md,json}`; root owns Git, registry, final manifests and final G0–G11. Existing `formal/gate.py` hash/path/axiom target checks were inspected: their target-scoped audit and source-manifest checks are useful G2/G3/G4 components but do not implement this lexer/AST/full-classification contract. Their invariant patterns (safe paths, exact hashes, strict JSON, exact approved set) are retained; their package-specific execution and destructive build routines are not copied or run. + +Published component reuse: exact native blob `0a113896aff4c999111193359c38906ff61e52e8` at public Workspace PR29 head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169` is imported unchanged. Its published 28-test/39-mutant claim is recorded as inherited contributor evidence, not a local rerun; our G0 verifies the new integration and supplementary rules. No heuristic directory exclusions or Git execution from its standalone entrypoint are used. Lean excludes lambda from identifier continuation; the earlier harmless-Unicode fixture was corrected to alpha, and a lambda-boundary violation was added. The original permission-guard-removal mutant remains in the final declared set and is killed under a real already-open descriptor that survives chmod(000); the additional silent-skip mutant is distinct. + +Hardening trigger: a concrete integration review exposed unchecked declaration insertion, malformed character and escaped helper gaps. `evidence/hardening-reported-cases-red.log` retains the observed RED cases; the previous nine G0-bound source/doc files are preserved exactly in `evidence/pre-hardening-source/`. No historical repository mathematics was repeated. Actual repository G1 remains root-owned and NOT_RUN here. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/auditor.py b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/auditor.py new file mode 100644 index 000000000..630db4c3b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/auditor.py @@ -0,0 +1,366 @@ +#!/usr/bin/env python3 +"""G1 bounded static auditor. `STATIC_PASS` is not proof closure. See SPEC.md.""" +import argparse +from collections import Counter +import hashlib +import json +import os +from pathlib import Path, PurePosixPath +import re +import stat +import sys +import unicodedata + +from source_checks import check_lean, check_python + +APPROVED_AXIOMS = frozenset({'propext', 'Classical.choice', 'Quot.sound'}) +KINDS = frozenset({'project_lean','math_python','engineering_python','negative_fixture','quarantined_source', + 'external_pinned','binary_proof','documentation','data'}) +RETAINED = frozenset({'negative_fixture','quarantined_source'}) +SOURCE_EXTENSIONS = frozenset({'.lean','.py','.pyi','.sh','.bash','.js','.ts','.c','.cc','.cpp','.h','.rs'}) +BINARY_EXTENSIONS = frozenset({'.olean','.ilean','.o','.so','.a','.dll','.dylib','.wasm'}) +HEX = re.compile(r'[0-9a-f]{64}') +ENTRY_KEYS = frozenset({'kind','sha256','module','language','vacuity','expected_findings','quarantine', + 'fixture_purpose','pin','nonmath_review','bindings','status_evidence'}) + + +CLASS_KEYS = { + 'project_lean': {'module','vacuity'}, + 'math_python': {'module'}, + 'engineering_python': {'module','nonmath_review'}, + 'negative_fixture': {'language','module','expected_findings','fixture_purpose'}, + 'quarantined_source': {'language','module','expected_findings','quarantine'}, + 'external_pinned': {'language','module','vacuity','pin','bindings'}, + 'binary_proof': {'bindings','pin'}, + 'documentation': {'status_evidence'}, + 'data': {'status_evidence'}, +} + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def strict_json(text): + def unique(pairs): + result = {} + for k, v in pairs: + if k in result: + raise ValueError('duplicate JSON key: ' + k) + result[k] = v + return result + def refuse(token): + raise ValueError('noninteger/nonfinite JSON number refused: ' + token) + return json.loads(text, object_pairs_hook=unique, parse_float=refuse, parse_constant=refuse) + + +def normalized_path(value): + if not isinstance(value, str) or not value or '\\' in value or '\x00' in value: + return False + p = PurePosixPath(value) + return (not p.is_absolute() and '..' not in p.parts and '.' not in p.parts and str(p) == value and + unicodedata.normalize('NFC', value) == value and not any(ord(c) < 32 for c in value)) + + +def audit(manifest): + findings, retained_findings, observations = [], [], [] + records, roots, graph, source_results = {}, {}, {}, {} + classified_count, scanned_count = 0, 0 + + def add(code, detail, root='', path='', line=0): + findings.append({'code':code, 'root':root, 'path':path, 'line':line, 'detail':detail}) + + def nonempty(value): + return isinstance(value, str) and bool(value.strip()) + + def binding(value, owner, label): + if not isinstance(value, dict) or set(value) != {'root','path','sha256'}: + add('EVIDENCE_BINDING', 'malformed '+label, *owner); return None + ref = value.get('root','') + ':' + value.get('path','') if isinstance(value.get('root'),str) and isinstance(value.get('path'),str) else '' + target = records.get(ref) + if target is None or target.get('data') is None or value.get('sha256') != target['entry'].get('sha256') or digest(target['data']) != value.get('sha256'): + add('EVIDENCE_BINDING', 'missing/stale/unreadable '+label, *owner); return None + try: + return strict_json(target['data'].decode('utf-8')) + except (UnicodeError, ValueError, TypeError, RecursionError) as exc: + add('EVIDENCE_BINDING', 'non-JSON '+label+': '+str(exc), *owner); return None + + if not isinstance(manifest, dict) or set(manifest) != {'schema_version','approved_axioms','roots','module_map'} or type(manifest.get('schema_version')) is not int or manifest.get('schema_version') != 1: + add('MANIFEST','schema v1 exact top-level keys required') + manifest = manifest if isinstance(manifest,dict) else {} + approved = manifest.get('approved_axioms') + if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS: + add('FOUNDATION_PROFILE','approved imported axiom set must be exactly propext, Classical.choice, Quot.sound') + raw_roots=manifest.get('roots') + if not isinstance(raw_roots,list) or not raw_roots: + add('MANIFEST','nonempty roots required');raw_roots=[] + root_realpaths=[] + for r in raw_roots: + if not isinstance(r,dict) or set(r)!={'id','path','tree_id','tracked_files','files'}: + add('MANIFEST','root exact keys required');continue + rid=r.get('id') + if not isinstance(rid,str) or not re.fullmatch(r'[A-Za-z0-9_-]+',rid) or rid in roots: + add('MANIFEST','invalid or duplicate root id');continue + if not isinstance(r.get('tree_id'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',r['tree_id']) is None: + add('MANIFEST','immutable tree identifier required',rid) + rp=r.get('path') + if not isinstance(rp,str) or not Path(rp).is_absolute() or str(Path(rp))!=rp or unicodedata.normalize('NFC',rp)!=rp: + add('PATH','root must be normalized absolute path',rid);continue + root=Path(rp) + if not root.is_dir(): + add('FILE_MISSING','root directory missing',rid);continue + if any(p.is_symlink() for p in [root,*root.parents]): + add('PATH_SYMLINK','root or ancestor is a symlink',rid);continue + real=root.resolve() + if any(real==other or real.is_relative_to(other) or other.is_relative_to(real) for other in root_realpaths): + add('PATH','overlapping/aliased roots are forbidden',rid);continue + root_realpaths.append(real);roots[rid]=r + tracked, files=r.get('tracked_files'),r.get('files') + if not isinstance(tracked,list) or not tracked or any(not isinstance(p,str) for p in tracked) or len(set(tracked))!=len(tracked) or not isinstance(files,dict): + add('MANIFEST','nonempty unique tracked paths and file object required',rid);continue + if set(tracked)!=set(files): + add('SCOPE_CLASSIFICATION','tracked/classified path sets differ: missing='+repr(sorted(set(tracked)-set(files)))+' extra='+repr(sorted(set(files)-set(tracked))),rid) + for path in sorted(set(tracked)|set(files)): + if not normalized_path(path): + add('PATH','unsafe, nonnormalized or non-NFC file path',rid,str(path));continue + if path not in files: + continue + entry=files[path];classified_count+=1 + if not isinstance(entry,dict) or set(entry)-ENTRY_KEYS or not {'kind','sha256'}<=set(entry): + add('CLASSIFICATION','malformed classification or unknown fields',rid,path);continue + if not isinstance(entry.get('kind'),str) or entry.get('kind') not in KINDS: + add('CLASSIFICATION','unknown classification: '+str(entry.get('kind')),rid,path);continue + if set(entry)-{'kind','sha256'}-CLASS_KEYS.get(entry['kind'],set()): + add('CLASSIFICATION','fields not applicable to declared classification',rid,path) + if 'language' in entry and (not isinstance(entry['language'],str) or entry['language'] not in {'lean','python'}): + add('LANGUAGE_GAP','unsupported/nonstring language classification',rid,path);continue + if 'module' in entry and not isinstance(entry['module'],str): + add('MODULE_ALIAS','module identity must be a string',rid,path);continue + if not isinstance(entry.get('sha256'),str) or HEX.fullmatch(entry['sha256']) is None: + add('FILE_HASH','missing or malformed SHA256',rid,path) + target=root/path + record={'root':rid,'path':path,'entry':entry,'data':None};records[rid+':'+path]=record + if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)): + add('PATH_SYMLINK','symlink file/ancestor aliases are forbidden',rid,path);continue + try: + info=target.stat() + if not stat.S_ISREG(info.st_mode): + add('FILE_MISSING','not a regular file',rid,path);continue + if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH): + add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue + data=target.read_bytes() + except FileNotFoundError: + add('FILE_MISSING','declared file is absent',rid,path);continue + except OSError as exc: + add('FILE_UNREADABLE',str(exc),rid,path);continue + record['data']=data;scanned_count+=1 + if digest(data)!=entry.get('sha256'): + add('FILE_HASH','content differs from manifest pin',rid,path) + module_map=manifest.get('module_map') + if not isinstance(module_map,dict): + add('MANIFEST','module_map must be an object');module_map={} + for name, ref in module_map.items(): + if not isinstance(name,str) or not re.fullmatch(r'(lean|python):[^\s:]+',name) or not isinstance(ref,str) or ref not in records: + add('MODULE_ALIAS','module map points outside classified scope: '+str(name));continue + if records[ref]['entry'].get('kind') in {'documentation','data','binary_proof'}: + add('MODULE_ALIAS','module identity must point to actual classified source: '+name) + if records[ref]['entry'].get('module')!=name: + add('MODULE_ALIAS','module map alias does not equal target declared identity: '+name) + for ref, record in records.items(): + rid,path,entry=record['root'],record['path'],record['entry'] + owner=(rid,path);kind=entry['kind'];data=record['data'];suffix=Path(path).suffix.lower() + language=entry.get('language') + if kind=='project_lean': language='lean' + if kind in {'math_python','engineering_python'}: language='python' + source_like=suffix in SOURCE_EXTENSIONS or path.lower().endswith(('.lean.txt','.py.txt','.sh.txt','.js.txt')) + if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS): + add('SOURCE_CLASSIFICATION','source/proof object cannot be relabeled documentation/data',rid,path) + if kind=='binary_proof' and source_like: + add('SOURCE_CLASSIFICATION','source cannot be relabeled binary proof',rid,path) + if kind in {'project_lean','math_python','engineering_python'} and suffix not in ({'.lean'} if language=='lean' else {'.py','.pyi'}): + add('SOURCE_CLASSIFICATION','source kind does not match extension',rid,path) + if (kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)) and language not in {'lean','python'}: + add('LANGUAGE_GAP','source needs supported explicit lean/python classification',rid,path) + expected_language='lean' if path.lower().endswith(('.lean','.lean.txt')) else 'python' if path.lower().endswith(('.py','.pyi','.py.txt')) else None + if source_like and expected_language is None: + add('LANGUAGE_GAP','known source extension has no supported checker',rid,path) + if expected_language is not None and language is not None and language!=expected_language: + add('SOURCE_CLASSIFICATION','declared language disagrees with source extension',rid,path) + if language is not None and language not in {'lean','python'}: + add('LANGUAGE_GAP','unsupported language classification',rid,path) + if kind in RETAINED and (not isinstance(entry.get('expected_findings'),dict) or any(not isinstance(k,str) or type(v) is not int or v<1 for k,v in entry.get('expected_findings',{}).items())): + add('RETAINED_FINDING_MISMATCH','exact positive finding-count map required',rid,path) + if kind=='negative_fixture' and not nonempty(entry.get('fixture_purpose')): + add('NEGATIVE_FIXTURE','retained test purpose required',rid,path) + if kind=='quarantined_source': + q=entry.get('quarantine') + if not isinstance(q,dict) or set(q)!={'id','boundary','blocking_reason','owner','maintenance'} or any(not nonempty(q.get(k)) for k in ['id','boundary','blocking_reason']) or q.get('owner')!='none' or q.get('maintenance')!='zero': + add('QUARANTINE','exact id/boundary/blocking reason and terminal owner:none maintenance:zero required',rid,path) + if kind=='external_pinned' or 'pin' in entry: + pin=entry.get('pin') + if not isinstance(pin,dict) or set(pin)!={'revision','origin'} or not nonempty(pin.get('origin')) or not isinstance(pin.get('revision'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',pin['revision']) is None: + add('EXTERNAL_PIN','immutable 40/64 hex revision and nonempty origin required',rid,path) + if kind=='engineering_python': + review=binding(entry.get('nonmath_review'),owner,'nonmathematical review') + if not isinstance(review,dict) or set(review)!={'type','source_sha256','scope','reviewer','rationale'} or review.get('type')!='nonmathematical_review' or review.get('scope')!='nonmathematical_execution_only' or review.get('source_sha256')!=entry['sha256'] or not nonempty(review.get('reviewer')) or not nonempty(review.get('rationale')): + add('NONMATH_REVIEW','explicit hash-bound reviewed nonmathematical scope required',rid,path) + if kind=='binary_proof' or suffix in BINARY_EXTENSIONS: + bs=entry.get('bindings') + if not isinstance(bs,dict) or set(bs)!={'G2','G4'}: + add('BINARY_BINDING','binary proof requires exact G2/G4 bindings',rid,path) + else: + for gate,value in bs.items(): + proof=binding(value,owner,gate+' binary proof evidence') + if not isinstance(proof,dict) or proof.get('type')!='kernel_evidence' or proof.get('gate')!=gate or proof.get('subject_sha256')!=entry['sha256'] or proof.get('observed_status')!='PASS' or type(proof.get('exit_code')) is not int or proof.get('exit_code')!=0 or not isinstance(proof.get('command'),list) or not proof['command'] or not nonempty(proof.get('run_id')): + add('BINARY_BINDING','missing/stale/nonpassing '+gate+' subject evidence',rid,path) + if data is None: + continue + text=None + if kind!='binary_proof' and suffix not in BINARY_EXTENSIONS: + try: + text=data.decode('utf-8') + except UnicodeError: + add('FILE_ENCODING','nonbinary classified file is not strict UTF-8',rid,path);continue + if language in {'lean','python'}: + if text is None: + add('SOURCE_CLASSIFICATION','binary object cannot be declared Lean/Python source',rid,path);continue + module=entry.get('module') + if not isinstance(module,str) or not module.startswith(language+':') or module_map.get(module)!=ref: + add('MODULE_ALIAS','source module must have one exact registered identity',rid,path) + result=check_lean(text) if language=='lean' else check_python(text, kind!='engineering_python') + source_results[ref]=result + raw_findings=list(result['findings']) + if kind in RETAINED: + actual=dict(Counter(f['code'] for f in raw_findings)) + if actual!=entry.get('expected_findings'): + add('RETAINED_FINDING_MISMATCH','expected '+repr(entry.get('expected_findings'))+' actual '+repr(actual),rid,path) + for f in raw_findings: + retained_findings.append({'root':rid,'path':path,**f}) + else: + for f in raw_findings: + add(f['code'],f['detail'],rid,path,f['line']) + graph[ref]=[] + for imported in result['imports']: + if language=='python' and imported=='fractions' and kind=='math_python' and 'python:fractions' not in module_map: + continue # Explicit exact-arithmetic trust profile; G7 binds runtime/stdlib. + target=module_map.get(language+':'+imported) + if target not in records: + add('IMPORT_UNRESOLVED','unknown/unsupported dependency '+language+':'+imported,rid,path) + else: + graph[ref].append(target) + if kind=='math_python' and records[target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only source '+target,rid,path) + if language=='python': + parts=imported.split('.') + for i in range(1,len(parts)): + prefix=module_map.get('python:'+'.'.join(parts[:i])) + if prefix in records: + graph[ref].append(prefix) + for candidate in result.get('import_candidates',[]): + target=module_map.get('python:'+candidate) + if target in records: + graph[ref].append(target) + if language=='lean' and kind not in RETAINED: + annotations=entry.get('vacuity') + declarations=result['declarations'] + keys=[d['key'] for d in declarations] + if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys): + add('VACUITY_COVERAGE','annotation keys must exactly cover theorem/lemma/example source locations',rid,path) + annotations=annotations if isinstance(annotations,dict) else {} + for declaration in declarations: + key=declaration['key'];a=annotations.get(key) + if not isinstance(a,dict) or not isinstance(a.get('status'),str) or a.get('status') not in {'conditional','nonvacuous','vacuous'} or not nonempty(a.get('reason')): + add('VACUITY_ANNOTATION','required status/reason for '+key,rid,path,declaration['line']);continue + if set(a)-{'status','reason','premises','evidence'}: + add('VACUITY_ANNOTATION','unknown annotation keys for '+key,rid,path,declaration['line']) + if a['status']=='conditional' and (not isinstance(a.get('premises'),list) or any(not nonempty(p) for p in a['premises'])): + add('VACUITY_ANNOTATION','explicit premises list required for '+key,rid,path,declaration['line']) + if declaration['contradictions'] and a['status']!='vacuous': + add('VACUITY_CONTRADICTION','syntactic contradiction candidates require vacuous: '+key+': '+repr(declaration['contradictions']),rid,path,declaration['line']) + if a['status']=='nonvacuous': + certificate=binding(a.get('evidence'),owner,'nonvacuity certificate '+key) + if not isinstance(certificate,dict) or certificate.get('type')!='nonvacuity_certificate' or certificate.get('subject_sha256')!=entry['sha256'] or certificate.get('declaration')!=key or not nonempty(certificate.get('witness_description')): + add('VACUITY_EVIDENCE','content-bound nonvacuity witness certificate required for '+key,rid,path,declaration['line']) + observations.append({'root':rid,'path':path,'declaration':key,'status':a['status'],'contradiction_candidates':declaration['contradictions']}) + if entry.get('status_evidence') is not None: + if entry['status_evidence'] is not True: + add('STATUS_EVIDENCE','status_evidence must be true, never disable/skip',rid,path) + try: + s=strict_json(text) + except (ValueError,TypeError,RecursionError) as exc: + add('STATUS_EVIDENCE','invalid status JSON: '+str(exc),rid,path);continue + required={'schema_version','gate','observed_status','run_id','command','exit_code','inputs'} + if not isinstance(s,dict) or not required<=set(s) or set(s)-required-{'evidence'} or type(s.get('schema_version')) is not int or s.get('schema_version')!=1 or not isinstance(s.get('gate'),str) or s.get('gate') not in {'G'+str(i) for i in range(12)} or not isinstance(s.get('observed_status'),str) or s.get('observed_status') not in {'PASS','FAIL','NOT_RUN','ERROR','INACCESSIBLE'} or not nonempty(s.get('run_id')) or not isinstance(s.get('command'),list) or not s['command'] or any(not nonempty(c) for c in s['command']) or not isinstance(s.get('inputs'),dict) or not s['inputs']: + add('STATUS_EVIDENCE','invalid exact observed status schema',rid,path);continue + for input_ref,value in s['inputs'].items(): + target=records.get(input_ref) + if target is None or value!=target['entry'].get('sha256') or target['data'] is None or digest(target['data'])!=value: + add('STATUS_EVIDENCE','status input missing/stale: '+input_ref,rid,path) + if s['observed_status']=='NOT_RUN': + if s['exit_code'] is not None or 'evidence' in s: + add('STATUS_EVIDENCE','NOT_RUN cannot carry execution exit/evidence',rid,path) + else: + evidence=binding(s.get('evidence'),owner,'observed status receipt') + comparable={k:v for k,v in s.items() if k!='evidence'} + if json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':')) or type(s['exit_code']) is not int or (s['observed_status']=='PASS' and s['exit_code']!=0) or (s['observed_status']=='FAIL' and s['exit_code']==0): + add('STATUS_EVIDENCE','status differs from bound observed execution receipt',rid,path) + for start in sorted(graph): + if records[start]['entry']['kind'] in RETAINED: + continue + seen,pending=set(),list(graph[start]) + while pending: + target=pending.pop() + if target in seen: + continue + seen.add(target) + if records[target]['entry']['kind'] in RETAINED: + add('QUARANTINE_IMPORT','closed source depends on isolated source '+target,records[start]['root'],records[start]['path']) + pending.extend(graph.get(target,[])) + findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + retained_findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + manifest_bytes=json.dumps(manifest,sort_keys=True,separators=(',',':'),ensure_ascii=False).encode() + inventories={rid:digest(json.dumps(sorted(r['tracked_files']),ensure_ascii=False,separators=(',',':')).encode()) for rid,r in roots.items() if isinstance(r.get('tracked_files'),list) and all(isinstance(p,str) for p in r['tracked_files'])} + obligations=[{'gate':g,'required_work':work} for g,work in [ + ('G2','All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'), + ('G3','Actual Lean build and no sorry warnings; source scanning does not execute Lean.'), + ('G4','Kernel recheck every closed declaration and all bound binary proof objects.'), + ('G5','Execute retained regression tests; source profile does not establish runtime success or historical test retention.'), + ('G7','Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'), + ('G8','Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'), + ('G10','Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.')]] + return {'schema_version':1,'result':'STATIC_PASS' if not findings else 'FAIL','claim':'bounded static rules only; not CBZ-0 or mathematical proof closure', + 'manifest_sha256':digest(manifest_bytes),'inventory_sha256':inventories,'classified_count':classified_count, + 'scanned_count':scanned_count,'retained_count':len(retained_findings),'findings':findings, + 'fatal_gaps':[f for f in findings if f['code'].endswith('_GAP') or f['code'] in {'MANIFEST','SCOPE_CLASSIFICATION','CLASSIFICATION','FILE_MISSING','FILE_UNREADABLE','IMPORT_UNRESOLVED','EVIDENCE_BINDING'}], + 'retained_findings':retained_findings,'vacuity_observations':observations,'remaining_obligations':obligations, + 'files':[{'root':r['root'],'path':r['path'],'kind':r['entry']['kind'],'expected_sha256':r['entry']['sha256'],'actual_sha256':digest(r['data']) if r['data'] is not None else None} for _,r in sorted(records.items())]} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + sub=parser.add_subparsers(dest='command',required=True) + p=sub.add_parser('audit',help='audit exact controller-supplied tracked scope') + p.add_argument('--manifest',required=True,type=Path) + p.add_argument('--output',type=Path,help='also write deterministic report JSON') + args=parser.parse_args(argv) + try: + raw=args.manifest.read_bytes() + manifest=strict_json(raw.decode('utf-8')) + report=audit(manifest) + report['manifest_file_sha256']=digest(raw) + code=0 if report['result']=='STATIC_PASS' else 1 + except (OSError,ValueError,UnicodeError,RecursionError) as exc: + report={'schema_version':1,'result':'INPUT_ERROR','findings':[{'code':'INPUT','detail':str(exc)}]};code=2 + encoded=json.dumps(report,sort_keys=True,indent=2,ensure_ascii=False)+'\n' + if args.output: + try: + args.output.write_text(encoded,encoding='utf-8') + except OSError as exc: + report={'schema_version':1,'result':'OUTPUT_ERROR','findings':[{'code':'OUTPUT','detail':str(exc)}]} + encoded=json.dumps(report,sort_keys=True,indent=2)+'\n';code=3 + sys.stdout.write(encoded) + return code + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/canonical_lean.py b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/canonical_lean.py new file mode 100644 index 000000000..0a113896a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/canonical_lean.py @@ -0,0 +1,476 @@ +#!/usr/bin/env python3 +"""Layer A textual scanner for Lean 4 sources (CBZ-0 gate G1). + +What it certifies, exactly: + For every scanned ``.lean`` file it reports each *code* token (outside + comments, string literals and char literals) that names a Layer A hazard: + + violation tokens (gate-failing in production context) + A1 placeholders : sorry, admit, sorryAx, admitGoal, mkSorry + A2 trust holes : axiom (declaration keyword), native_decide, + ofReduceBool, ofReduceNat, trustCompiler, + skipKernelTC (kernel-check bypass option), + addDeclWithoutChecking, and the ``decide`` options + ``+native`` / ``native := true`` + review tokens (reported, never gate-failing on their own) + A3 float : Float, Float32 + A2 compiled code: unsafe, implemented_by, extern + A1 tactic stop : ``stop`` as the first token on its line + + ``sorry``/``admit``/``axiom``/``native_decide``/``Float``/``Float32``/ + ``unsafe``/``stop`` match only as a whole undotted identifier; the other + violation tokens also match as the last component of a dotted name + (``Lean.ofReduceBool``, ``debug.skipKernelTC``), including an escaped + component (``Lean.«ofReduceBool»`` and ``«sorryAx»`` name the same + constants). An escaped keyword such as ``«sorry»`` is an ordinary + identifier, not the keyword, and is not flagged. + +Fail-closed: a string, block comment, raw string, interpolated string or +``«`` name left unterminated at end of file is reported as an ``error`` +finding, which fails the run like a violation, because the rest of the +file cannot be lexed reliably. + +What it does NOT certify: + * That a file compiles, or that no placeholder arises through + metaprogramming that never spells a listed token. Gates G2-G4 + (``#print axioms`` / kernel re-check) close that gap; this scanner is a + necessary, not sufficient, condition. + * Anything about non-Lean files (Python bounds are a separate gate). + +Lexing follows Lean 4: ``--`` line comments; nested ``/- -/`` block comments +(including ``/--`` and ``/-!``); ``"..."`` strings with backslash escapes; +interpolated strings (``s!"..{code}.."``, ``m!``, ``f!``) whose ``{}`` +regions are lexed as code; raw strings ``r"..."`` / ``r#"..."#``; char +literals; and ``«...»`` escaped identifiers. + +Standard library only. No floating point is used in any decision. + +Usage: + layer_a_scan.py PATH... scan files/directories + layer_a_scan.py --git REPO --rev REV scan every .lean blob in a git tree +Options: + --json FILE write all findings as JSON + --fail-on CTX comma list of contexts whose violations fail the run + (default: production). Use "all" for every context. +Exit status: 0 = no failing violation, 1 = failing violation, 2 = usage/IO. +""" +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys +import unicodedata + +VIOLATION_EXACT = { + "sorry": "A1", + "admit": "A1", + "axiom": "A2", + "native_decide": "A2", +} +VIOLATION_COMPONENT = { + "sorryAx": "A1", + "admitGoal": "A1", + "mkSorry": "A1", + "ofReduceBool": "A2", + "ofReduceNat": "A2", + "trustCompiler": "A2", + "skipKernelTC": "A2", + "addDeclWithoutChecking": "A2", +} +REVIEW_EXACT = { + "Float": "A3", + "Float32": "A3", + "unsafe": "A2", +} +REVIEW_COMPONENT = { + "implemented_by": "A2", + "extern": "A2", +} +LINE_START_REVIEW = {"stop": "A1"} + +INTERP_PREFIXES = {"s!", "m!", "f!"} +# ``decide +native`` and ``native := true`` select compiler evaluation, i.e. +# ofReduceBool. ``native`` after a ``+`` is flagged even with a space between +# (safe direction: ``x + native`` is a false positive, never a miss). +_NATIVE_TRUE = re.compile(r"\s*:=\s*true(?![A-Za-z0-9_'!?])") +_EXCLUDED_LETTERS = {"λ", "Π", "Σ"} +_CHAR_LIT = re.compile(r"'(?:\\(?:u\{[0-9a-fA-F]+\}|x[0-9a-fA-F]{2}|.)|[^\\'\n])'") + + +def _is_letter(ch: str) -> bool: + if ch in _EXCLUDED_LETTERS: + return False + if ch.isascii(): + return ch.isalpha() + cat = unicodedata.category(ch) + if cat.startswith("L"): + return True + o = ord(ch) + # Letter-like symbols and Greek/Coptic, as Lean's isLetterLike. + return (0x3B1 <= o <= 0x3C9 and o != 0x3BB) or (0x391 <= o <= 0x3A9 and o not in (0x3A0, 0x3A3)) \ + or 0x3CA <= o <= 0x3FB or 0x1F00 <= o <= 0x1FFE or 0x2100 <= o <= 0x214F \ + or 0x1D49C <= o <= 0x1D59F + + +def _is_subscript(ch: str) -> bool: + o = ord(ch) + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A + + +def _id_start(ch: str) -> bool: + return ch == "_" or _is_letter(ch) + + +def _id_rest(ch: str) -> bool: + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or ch.isdigit() \ + or _is_letter(ch) or _is_subscript(ch) + + +def lex_tokens(text: str, errors: list | None = None): + """Yield (name, line, col, line_start, plus_before, follow) per code identifier. + + ``name`` is the full dotted identifier text; an escaped ``«...»`` + component becomes ``\x00`` plus its text (inner dots as ``\x01``), so it + matches constant names but never a keyword. ``plus_before`` says the + identifier follows a ``+`` on its line; ``follow`` is the text after it. + Unterminated constructs are appended to ``errors`` as (line, col, kind). + + Modes are kept on an explicit stack: a ``code`` frame (with a brace + depth when it is an interpolation region) or an ``istr`` frame (the body + of an interpolated string, where ``{`` opens a nested code region). + """ + i = 0 + n = len(text) + line = 1 + col = 1 + line_has_token = False + stack: list[list] = [["code", None]] + if errors is None: + errors = [] + + def advance(k: int): + nonlocal i, line, col, line_has_token + for _ in range(k): + if i >= n: + return + if text[i] == "\n": + line += 1 + col = 1 + line_has_token = False + else: + col += 1 + i += 1 + + def read_ident_tail(parts: list[str]): + # dotted continuation: .ident or .«escaped» + while i < n and text[i] == "." and i + 1 < n and (_id_start(text[i + 1]) or text[i + 1] == "«"): + advance(1) + if text[i] == "«": + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + return + inner = text[i + 1:j] + advance(j + 1 - i) + parts.append("\x00" + inner.replace(".", "\x01")) + else: + s2 = i + while i < n and _id_rest(text[i]): + advance(1) + parts.append(text[s2:i]) + + while i < n: + frame = stack[-1] + c = text[i] + if frame[0] == "istr": + if c == "\\": + advance(2) + elif c == '"': + advance(1) + stack.pop() + elif c == "{": + advance(1) + stack.append(["code", 0]) + else: + advance(1) + continue + # ---- code mode + if c == "-" and text.startswith("--", i): + while i < n and text[i] != "\n": + advance(1) + continue + if c == "/" and text.startswith("/-", i): + start = (line, col) + depth = 0 + while i < n: + if text.startswith("/-", i): + depth += 1 + advance(2) + elif text.startswith("-/", i): + depth -= 1 + advance(2) + if depth == 0: + break + else: + advance(1) + if depth: + errors.append(start + ("unterminated_comment",)) + continue + if frame[1] is not None and c == "{": + frame[1] += 1 + advance(1) + continue + if frame[1] is not None and c == "}": + advance(1) + if frame[1] == 0: + stack.pop() # back to the interpolated string body + else: + frame[1] -= 1 + continue + if c == '"': + start = (line, col) + advance(1) + closed = False + while i < n: + cc = text[i] + if cc == "\\": + advance(2) + continue + advance(1) + if cc == '"': + closed = True + break + if not closed: + errors.append(start + ("unterminated_string",)) + line_has_token = True + continue + if c == "'": + m = _CHAR_LIT.match(text, i) + advance(m.end() - i if m else 1) + line_has_token = True + continue + if c == "«": + start_line, start_col, start_first = line, col, not line_has_token + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + break + inner = text[i + 1:j] + advance(j + 1 - i) + parts = ["\x00" + inner.replace(".", "\x01")] + read_ident_tail(parts) + line_has_token = True + yield ".".join(parts), start_line, start_col, start_first, False, text[i:i + 40] + continue + if _id_start(c): + start_line, start_col, start_first = line, col, not line_has_token + s = i + while i < n and _id_rest(text[i]): + advance(1) + word = text[s:i] + if word == "r" and i < n and text[i] in '"#': + k = i + while k < n and text[k] == "#": + k += 1 + if k < n and text[k] == '"': + close = '"' + "#" * (k - i) + end = text.find(close, k + 1) + if end < 0: + errors.append((start_line, start_col, "unterminated_raw_string")) + end = n if end < 0 else end + len(close) + advance(end - i) + line_has_token = True + continue + if word in INTERP_PREFIXES and i < n and text[i] == '"': + advance(1) + stack.append(["istr", start_line, start_col]) + line_has_token = True + continue + parts = [word] + read_ident_tail(parts) + line_has_token = True + k = s - 1 + while k >= 0 and text[k] in " \t": + k -= 1 + yield ".".join(parts), start_line, start_col, start_first, k >= 0 and text[k] == "+", text[i:i + 40] + continue + if c.isdigit(): + while i < n and (text[i].isalnum() or text[i] in "._"): + advance(1) + line_has_token = True + continue + if not c.isspace(): + line_has_token = True + advance(1) + for frame in stack: + if frame[0] == "istr": + errors.append((frame[1], frame[2], "unterminated_interpolated_string")) + break + + +def classify_token(name: str, line_start: bool, plus_before: bool = False, follow: str = ""): + """Return (kind, layer, severity) or None.""" + last = name.split(".")[-1] + if last.startswith("\x00"): + # escaped component: the same constant name, never a keyword + last = last[1:] + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + if name == "native" and (plus_before or _NATIVE_TRUE.match(follow)): + return "native", "A2", "violation" + if "." not in name: + if name in VIOLATION_EXACT: + return name, VIOLATION_EXACT[name], "violation" + if name in REVIEW_EXACT: + return name, REVIEW_EXACT[name], "review" + if line_start and name in LINE_START_REVIEW: + return name, LINE_START_REVIEW[name], "review" + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + + +_EVIDENCE_SEG = re.compile(r"(^|/)(raw|runs|archive|attempts)(/|$)|-evidence(/|$)") +_CONTROL_NAME = re.compile(r"(?i)(control|negative|mutation|mutant|counterproof|falsifier)") + + +def context_of(path: str) -> str: + p = path.replace("\\", "/") + if _EVIDENCE_SEG.search(p): + return "evidence_copy" + if _CONTROL_NAME.search(os.path.basename(p)): + return "control" + return "production" + + +def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: + out = [] + ctx = context_of(path) + errors: list = [] + found = [] + for name, ln, cl, first, plus, follow in lex_tokens(text, errors): + r = classify_token(name, first, plus, follow) + if r is not None: + found.append((ln, cl, name.replace("\x00", "«").replace("\x01", "."), r)) + for ln, cl, kind in errors: + found.append((ln, cl, "", (kind, "A", "error"))) + for ln, cl, token, (kind, layer, sev) in sorted(found, key=lambda x: (x[0], x[1])): + f = {"path": path, "line": ln, "col": cl, "token": token, "kind": kind, + "layer": layer, "severity": sev, "context": ctx} + if blob: + f["blob"] = blob + out.append(f) + return out + + +def iter_fs(paths): + for p in paths: + if os.path.isdir(p): + for root, dirs, files in os.walk(p): + dirs[:] = sorted(d for d in dirs if d != ".git") + for fn in sorted(files): + if fn.endswith(".lean"): + full = os.path.join(root, fn) + yield os.path.relpath(full, p), full + elif p.endswith(".lean"): + yield p, p + + +def git_lean_blobs(repo: str, rev: str): + env = {k: v for k, v in os.environ.items() if not k.startswith("GIT_")} + ls = subprocess.run(["git", "-C", repo, "ls-tree", "-r", "-z", rev], + check=True, capture_output=True, env=env).stdout + entries = [] + for rec in ls.split(b"\0"): + if not rec: + continue + meta, path = rec.split(b"\t", 1) + mode, typ, sha = meta.split() + p = path.decode("utf-8", "surrogateescape") + if typ == b"blob" and p.endswith(".lean"): + entries.append((p, sha.decode())) + if not entries: + return + proc = subprocess.Popen(["git", "-C", repo, "cat-file", "--batch"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, env=env) + try: + for p, sha in entries: + proc.stdin.write(sha.encode() + b"\n") + proc.stdin.flush() + header = proc.stdout.readline().split() + size = int(header[2]) + data = proc.stdout.read(size) + proc.stdout.read(1) + yield p, sha, data + finally: + proc.stdin.close() + proc.wait() + + +def main(argv=None) -> int: + ap = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + ap.add_argument("paths", nargs="*") + ap.add_argument("--git", metavar="REPO") + ap.add_argument("--rev", default="HEAD") + ap.add_argument("--json", metavar="FILE") + ap.add_argument("--fail-on", default="production") + args = ap.parse_args(argv) + if not args.paths and not args.git: + ap.print_usage(sys.stderr) + return 2 + findings: list[dict] = [] + files = 0 + undecodable = [] + try: + if args.git: + for p, sha, data in git_lean_blobs(args.git, args.rev): + files += 1 + try: + text = data.decode("utf-8") + except UnicodeDecodeError: + undecodable.append(p) + continue + findings += scan_text(text, p, sha) + for rel, full in iter_fs(args.paths): + files += 1 + try: + with open(full, encoding="utf-8") as fh: + text = fh.read() + except UnicodeDecodeError: + undecodable.append(rel) + continue + findings += scan_text(text, rel) + except (OSError, subprocess.CalledProcessError) as exc: + print(f"layer_a_scan: error: {exc}", file=sys.stderr) + return 2 + fail_ctx = None if args.fail_on == "all" else set(args.fail_on.split(",")) + failing = [f for f in findings if f["severity"] in ("violation", "error") + and (fail_ctx is None or f["context"] in fail_ctx)] + summary = {"files": files, "findings": len(findings), + "violations": sum(f["severity"] == "violation" for f in findings), + "errors": sum(f["severity"] == "error" for f in findings), + "failing": len(failing), "undecodable": undecodable} + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"summary": summary, "findings": findings}, fh, indent=1, ensure_ascii=False) + for f in failing: + print(f"{f['path']}:{f['line']}:{f['col']}: {f['layer']} {f['kind']} ({f['context']})") + print(json.dumps(summary, ensure_ascii=False)) + # Undecodable files cannot be certified clean: fail closed. + if undecodable: + return 1 + return 1 if failing else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log new file mode 100644 index 000000000..dae54d606 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log @@ -0,0 +1,92 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp3bc6i47p', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp3bc6i47p', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i7nsxp12/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '70a80242ffdb24cc8e9d826eae80ccdae8b380b37b94b34f9cfae60344856c2a', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-i7nsxp12/tests/test_auditor.py", line 395, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FOUNDATION_PROFILE',self.codes()) +AssertionError: 'FOUNDATION_PROFILE' not found in {'FILE_HASH', 'LEAN_PLACEHOLDER'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.325s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log new file mode 100644 index 000000000..c2ed88726 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1my5agsl/tests/test_auditor.py", line 344, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.329s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log new file mode 100644 index 000000000..f3d0b213b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h3gpv6et/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h3gpv6et/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.337s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log new file mode 100644 index 000000000..382c269cf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1gn4ftpc/tests/test_auditor.py", line 611, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.330s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log new file mode 100644 index 000000000..fe98c6116 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log @@ -0,0 +1,81 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l17uwi43/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in {'PY_INEXACT', 'PY_AST_GAP'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-python-division.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-python-division.log new file mode 100644 index 000000000..0cc778817 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-python-division.log @@ -0,0 +1,81 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fx9pmmck/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.345s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log new file mode 100644 index 000000000..7879bd57c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log @@ -0,0 +1,114 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 461, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 492, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 482, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k8oobeus/tests/test_auditor.py", line 476, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.326s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log new file mode 100644 index 000000000..3aacaddcf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log @@ -0,0 +1,81 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cjevrso2/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log new file mode 100644 index 000000000..140a31daa --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ua9zu1y5/tests/test_auditor.py", line 557, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ua9zu1y5/tests/test_auditor.py", line 419, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log new file mode 100644 index 000000000..0ec633bc5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wfhk2i9_/tests/test_auditor.py", line 415, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.339s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log new file mode 100644 index 000000000..06ca405c3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-h5s93w2y/tests/test_auditor.py", line 526, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.329s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log new file mode 100644 index 000000000..4c7c3d235 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w2z5yidb/tests/test_auditor.py", line 347, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log new file mode 100644 index 000000000..41f69f685 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log @@ -0,0 +1,126 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_INEXACT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ngwq94at/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 67 tests in 0.330s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log new file mode 100644 index 000000000..3c9000576 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-stcy8h8p/tests/test_auditor.py", line 496, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in {'LEAN_AXIOM', 'VACUITY_COVERAGE'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log new file mode 100644 index 000000000..aa726802b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ex4ys5m3/tests/test_auditor.py", line 388, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.331s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log new file mode 100644 index 000000000..ec7aa49a4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') ... FAIL + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-x5vr332e/tests/test_auditor.py", line 292, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-x5vr332e/tests/test_auditor.py", line 292, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log new file mode 100644 index 000000000..126cccca7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log @@ -0,0 +1,403 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 284, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '84d3cff088c5d5c06041b06a5074a6102ee6d59e2a6e5ac407b4bd75cb14cd6b', 'inventory_sha256': {'r': 'da5c483a10a4572334df90f0b7cf8a9e9cae04845b1b459107489dd0ef583c66'}, 'classified_count': 3, 'scanned_count': 3, 'retained_count': 1, 'findings': [{'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic execution/loading cannot establish closed dependency boundary'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: __builtins__'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: __builtins__'}, {'code': 'PY_DYNAMIC_IMPORT', 'root': 'r', 'path': 'runner.py', 'line': 1, 'detail': 'dynamic executor/importer name requires dependency certifier: getattr'}], 'fatal_gaps': [], 'retained_findings': [{'root': 'r', 'path': 'Q/bad.py', 'code': 'PY_INEXACT', 'detail': 'float/complex literal forbidden in mathematical program', 'line': 1}], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/bad.py', 'kind': 'quarantined_source', 'expected_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815', 'actual_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815'}, {'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4', 'actual_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4'}, {'root': 'r', 'path': 'runner.py', 'kind': 'engineering_python', 'expected_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83', 'actual_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83'}]} + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 639, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertEqual(p.returncode,1,p.stderr+p.stdout) +AssertionError: 0 != 1 : { + "claim": "bounded static rules only; not CBZ-0 or mathematical proof closure", + "classified_count": 1, + "fatal_gaps": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "files": [ + { + "actual_sha256": null, + "expected_sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df", + "kind": "documentation", + "path": "readme.txt", + "root": "r" + } + ], + "findings": [ + { + "code": "FILE_MISSING", + "detail": "declared file is absent", + "line": 0, + "path": "readme.txt", + "root": "r" + } + ], + "inventory_sha256": { + "r": "091289b475686cf611996d5a2a5654097ef7ffe09099b2b5c02e0b276254cc5c" + }, + "manifest_file_sha256": "204d9811a0dbd2c26f3f85ed39cb20c70ceda52f1440b39086de1a341e955818", + "manifest_sha256": "501cf0a7dcf646e8ccbc596bcbe9afa2f9766d407b234050c342912a75e7e589", + "remaining_obligations": [ + { + "gate": "G2", + "required_work": "All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound." + }, + { + "gate": "G3", + "required_work": "Actual Lean build and no sorry warnings; source scanning does not execute Lean." + }, + { + "gate": "G4", + "required_work": "Kernel recheck every closed declaration and all bound binary proof objects." + }, + { + "gate": "G5", + "required_work": "Execute retained regression tests; source profile does not establish runtime success or historical test retention." + }, + { + "gate": "G7", + "required_work": "Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency." + }, + { + "gate": "G8", + "required_work": "Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength." + }, + { + "gate": "G10", + "required_work": "Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git." + } + ], + "result": "STATIC_PASS", + "retained_count": 0, + "retained_findings": [], + "scanned_count": 0, + "schema_version": 1, + "vacuity_observations": [] +} + + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd0ab9628173d2084c00ce0faaa122dd57b9c255fe54f8a9b873418ef93fc6557', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unknown classification: []'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '45373ad876514d1b7d056686f19fe3f7532b85eae5232e231dfd80d2a22ab08f', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'LANGUAGE_GAP', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'unsupported/nonstring language classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f14036be378445b928156e2faba4bb841c5aa481ce8a4b86fa816d998f8a4b9d', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}, {'code': 'MODULE_ALIAS', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'module identity must be a string'}], 'fatal_gaps': [{'code': 'CLASSIFICATION', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'fields not applicable to declared classification'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c5327285308788a74f2bdbcd287da883938f1206828edb13f0903c9c25852a84', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'content differs from manifest pin'}, {'code': 'FILE_HASH', 'root': 'r', 'path': 'a.txt', 'line': 0, 'detail': 'missing or malformed SHA256'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': None, 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '83b30ab93ca281ad096bf3a15f51332e19b44b7e22501f89d53ca0eddd35834e', 'inventory_sha256': {}, 'classified_count': 0, 'scanned_count': 0, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'nonempty roots required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': []} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '72c921c40dec38f08cd5973b073c3209064750ae763ea21e911ffc8041f40043', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'module_map must be an object'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8b5b1a677293071789c0561324d705e16be182c069bf438e36f0b3f5903df81d', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'FOUNDATION_PROFILE', 'root': '', 'path': '', 'line': 0, 'detail': 'approved imported axiom set must be exactly propext, Classical.choice, Quot.sound'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmpp9p0tzwo', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 552, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'd39c8f995b98434bd1e09ff339b7496dfb0c66fb4dc78bae196f0de04d5cd3a9', 'inventory_sha256': {'r': '3169ba9e29527082ac0a22ae78e46eca5efc1f58ff2b47d42c36100b4d9252a8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'fatal_gaps': [{'code': 'MANIFEST', 'root': '', 'path': '', 'line': 0, 'detail': 'schema v1 exact top-level keys required'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'a.txt', 'kind': 'documentation', 'expected_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'actual_sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f0c7f84d2c2c35981cb920b5ab5197ac75be6b5efe5c9c225c6a7ba570f96ef7', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_KERNEL_BYPASS', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unchecked environment declaration insertion: Environment.addDeclWithoutChecking'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'cf19f128aecbbc37cd3dce2297434b786f982e046f9c19839d3f2c27a5bf3f72', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_KERNEL_BYPASS', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unchecked environment declaration insertion: Environment.addDeclWithoutChecking'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2f579af2fa0bd4674cd2443fabc622327c78bd375f08071e5a4d547f7b6cdf58', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_PLACEHOLDER', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'sorryAx'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1957631e84f1f81cbc2de068301e500f701654e21ae3e9de4f80dbe156e01406', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: Lean.ofReduceBool'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b71e06c1ae03908a02f636eb72c85039eac85ce924fce5a42e766e2ded6fa559', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'a1ce210307c3958f2034f166975ef362bc4b8d91a1bca4b7f3be3e37cab6fe7c', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8436c63addb252fce0b1a5c1c8f15cf0cc66da156d5694187965cab770a220b8', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_NATIVE', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'compiler/native trust escape: native'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '4b6681f16edb4952ccd884c7eb21d139eed9cf4510e81e27bb59d5f4ec0a487f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unsupported or unterminated character literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unsupported or unterminated character literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2c3b5684ba683a0331cc9f2db269fec8c90b8ff52a2b6ce5e9c65bcbce0a7f04', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated nested block comment'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated nested block comment'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '369785c1a65720d7cedfcee45025d5c8ed19cba4428308cca3a23a931e50f7cc', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated string literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated string literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6a936d906936be4f1e8bdc4e6ec894de2146099599181225b878b8b2ba083ceb', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated raw string literal'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated raw string literal'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b30t4p9z/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'f238b948fb0341b2f00fa5c902790678ae44435a6c7c9f1da6acf1390a64a212', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated escaped identifier'}], 'fatal_gaps': [{'code': 'LEAN_LEXICAL_GAP', 'root': 'r', 'path': 'Hazard.lean', 'line': 1, 'detail': 'unterminated escaped identifier'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +---------------------------------------------------------------------- +Ran 67 tests in 0.227s + +FAILED (failures=22) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/baseline.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/baseline.log new file mode 100644 index 000000000..62477a2dc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/baseline.log @@ -0,0 +1,75 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 70 tests in 1.346s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log new file mode 100644 index 000000000..6bba20067 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log @@ -0,0 +1,81 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-iq8ml23e/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.330s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log new file mode 100644 index 000000000..68ef881fe --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fyb0d2z6/tests/test_auditor.py", line 323, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.326s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log new file mode 100644 index 000000000..befb0d6f5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log @@ -0,0 +1,125 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 498, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-s7ykg6ir/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.338s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log new file mode 100644 index 000000000..62b6dbefb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zdnh3a2d/tests/test_auditor.py", line 584, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-zdnh3a2d/tests/test_auditor.py", line 393, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in {'LEAN_PLACEHOLDER'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.333s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log new file mode 100644 index 000000000..338ee2a1c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log @@ -0,0 +1,315 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') ... FAIL + test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') ... FAIL + test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='x=sorted([1,2],key=float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\nf=float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='def f(x): return x\ndef g(f): return f(1)\nx=g(float)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) (text='from fractions import Fraction as int\nx=int(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 169, in test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=float(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=complex(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from math import sqrt\nx=sqrt(2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from decimal import Decimal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=eval("0.1")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=getattr(1,"real")') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=(1).__class__') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_ATTRIBUTE_GAP' not found in {'PY_DYNAMIC_IMPORT'} + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f(Fraction):\n return Fraction(1)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_REBIND' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='def f():\n return 1\ng=f\nx=g()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_CALL_GAP' not found in set() + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='class C: pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='async def f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='@deco\ndef f(): return 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='try:\n x=1\nexcept:\n pass') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=lambda y:y') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='x=yield_value()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) (text='import fractions as f\nx=f.Fraction(1,2)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-g8b9ird6/tests/test_auditor.py", line 159, in test_unhandled_python_constructs_are_explicit_not_skipped + self.assertTrue(self.python_codes(text)) +AssertionError: set() is not true + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=27) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log new file mode 100644 index 000000000..96e1975aa --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=0.1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k9rtb34l/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1j') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-k9rtb34l/tests/test_auditor.py", line 153, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.334s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log new file mode 100644 index 000000000..b4fce967a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log @@ -0,0 +1,126 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-5ow7vlck/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.328s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-native-category.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-native-category.log new file mode 100644 index 000000000..57534e5ea --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-native-category.log @@ -0,0 +1,254 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7a938678133e187e1ae4a4943cf1b733dcd018ba3d85623621ae45a0ac468ee6', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'e50d451ad6d5cdf3aa30cbf59a0c35d5998abbdcd4987381fae35975e1506d17', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'feb9178546775f1e03bd2b922b0dcb6eec34ddb08e5b674f2ccb127319859faf', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'fe5a601655d67bb9007de43ecc10c33a787143e14db49ebb24dce3457f687f94', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-2nelbsk4/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.334s + +FAILED (failures=19) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log new file mode 100644 index 000000000..dd733941b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log @@ -0,0 +1,230 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 339, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 584, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 440, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6087f044af5d8c3e8313125ac88fd1749b799cbb3afabba605a79b981de76372', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 448, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'fa5871565039fc4e51127c83672d7d34c07a69cb68d2ae04d1ab8139a3c2dfdc', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '1aa3fa89dcd368f4804e6b9c9cd71abcfb676394c829ecc51561c18989cd4289', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 301, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2a426ea940ee6ceaeb9e5554fb4cab34d375ff9fa4747ac322eff4dd7308ce9e', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 182, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tm5c8c44/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=17) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log new file mode 100644 index 000000000..c57cacd51 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="f.__globals__['__builtins__']['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()') ... FAIL +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="f.__globals__['__builtins__']['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ouolaw9d/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source='().__class__.__base__.__subclasses__()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ouolaw9d/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.348s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log new file mode 100644 index 000000000..ba9ff65f2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log @@ -0,0 +1,132 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '88fcaf47453915d652dc5d05e438e7ec14e61e3715627e9bed41525bd356bf7b', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8732c7911179a7b1ed8d91d6b1e38e8f3e809275c82f368a008e8b4b48345865', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l1cmai2p/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.338s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log new file mode 100644 index 000000000..779dfc3b2 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log @@ -0,0 +1,179 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'cdb004c92232b195c23807ed3206393136f3e096a63e5c80c7c1be6e289debcb', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8694535d754bdf6d3f404f7615c1df216faf5b238ec9895f83f3aa208427234f', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '109c2b999c43996dcac53ba46036e153f7620f5ed619fd8aa0d75ca629e05726', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-md67dsfi/tests/test_auditor.py", line 59, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.339s + +FAILED (failures=11) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log new file mode 100644 index 000000000..907f4bcdd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log @@ -0,0 +1,128 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 461, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 465, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 195, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: [] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 4 additional elements. +First extra element 0: +'Good' + +- [] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p4s37a26/tests/test_auditor.py", line 115, in test_lean_explicit_imports_are_extracted_across_lines + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) +AssertionError: Lists differ: [] != ['Closed.Base', 'Closed.A', 'Closed.B'] + +Second list contains 3 additional elements. +First extra element 0: +'Closed.Base' + +- [] ++ ['Closed.Base', 'Closed.A', 'Closed.B'] + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log new file mode 100644 index 000000000..ce1380d07 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log @@ -0,0 +1,99 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b1p3khyw/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b1p3khyw/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-b1p3khyw/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.334s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log new file mode 100644 index 000000000..edf0ecfaf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ejdsfw2y/tests/test_auditor.py", line 492, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.339s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/empty-final-findings.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/empty-final-findings.log new file mode 100644 index 000000000..2c95051fd --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/empty-final-findings.log @@ -0,0 +1,651 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... FAIL +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... FAIL +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... FAIL +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') ... FAIL + test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') ... FAIL +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL + test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) ... FAIL +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... FAIL +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in set() + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 415, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 557, in test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 502, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 616, in test_binary_source_language_mismatch_is_a_finding_not_a_crash + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 285, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 571, in test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable + self.assertIn('CLASSIFICATION',self.codes()) +AssertionError: 'CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 640, in test_cli_json_and_nonzero_failures_and_duplicate_json_keys + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 461, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 355, in test_duplicate_scope_and_unknown_schema_keys_are_rejected + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 339, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 361, in test_empty_scope_cannot_manufacture_green + self.assertIn('MANIFEST',self.codes()) +AssertionError: 'MANIFEST' not found in set() + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 492, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 425, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 611, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 578, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 496, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('EXTERNAL_PIN',self.codes()) +AssertionError: 'EXTERNAL_PIN' not found in set() + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 584, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 482, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.sh') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 292, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) (path='bad.js') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 292, in test_known_unsupported_source_suffix_cannot_claim_a_supported_language + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'language': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation', 'module': []}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': None, 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': {}, 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': []}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': 1, 'approved_axioms': [[], [], []], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) (manifest={'schema_version': True, 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], 'roots': [{'id': 'r', 'path': '/tmp/tmp2x_nwd8t', 'tree_id': 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'tracked_files': ['a.txt'], 'files': {'a.txt': {'sha256': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'kind': 'documentation'}}}], 'module_map': {}}) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 553, in test_malformed_manifest_values_fail_with_findings_instead_of_crashing + self.assertTrue(r['findings']) +AssertionError: [] is not true + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 598, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('VACUITY_ANNOTATION',self.codes()) +AssertionError: 'VACUITY_ANNOTATION' not found in set() + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 307, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 366, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_MISSING',self.codes()) +AssertionError: 'FILE_MISSING' not found in set() + +====================================================================== +FAIL: test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 567, in test_modules_cannot_point_to_documentation_in_place_of_source + self.assertIn('MODULE_ALIAS',self.codes()) +AssertionError: 'MODULE_ALIAS' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 444, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 526, in test_nonvacuous_claim_requires_content_bound_certificate + self.assertIn('VACUITY_EVIDENCE',self.codes()) +AssertionError: 'VACUITY_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 393, in test_pin_hash_and_foundation_allowlist_cannot_be_weakened + self.assertIn('FILE_HASH',self.codes()) +AssertionError: 'FILE_HASH' not found in set() + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 476, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 450, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 274, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertIn(code,{f['code'] for f in result['findings']}) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 297, in test_retained_text_source_requires_language_then_a_registered_module + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 419, in test_source_relabeling_to_docs_or_binary_is_not_silent + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 323, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 533, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 344, in test_unclassified_unknown_skipped_and_extra_paths_fail_closed + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) +AssertionError: 'SCOPE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 465, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('IMPORT_UNRESOLVED',self.codes()) +AssertionError: 'IMPORT_UNRESOLVED' not found in set() + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 515, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-byfuhsg2/tests/test_auditor.py", line 388, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.231s + +FAILED (failures=68) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log new file mode 100644 index 000000000..614a678a0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log @@ -0,0 +1,756 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') ... FAIL + test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') ... FAIL +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') ... FAIL + test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') ... FAIL + test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') ... FAIL +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') ... FAIL + test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') ... FAIL +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 339, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 498, in test_external_source_needs_immutable_pin_and_is_still_scanned + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in {'VACUITY_COVERAGE'} + +====================================================================== +FAIL: test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 584, in test_file_hash_failure_does_not_prevent_violation_detection + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) +AssertionError: False is not true + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='propext') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Classical.choice') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) (name='Quot.sound') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 402, in test_foundation_names_cannot_authorize_new_owned_axioms + self.assertIn('LEAN_AXIOM',self.codes()) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 440, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertEqual(r['result'],'STATIC_PASS',r) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c14066a1a20fa82ffe6a6e708d40e1c3e03f833cd3b077e276c4b20b19b3e00e', 'inventory_sha256': {'r': 'b0cd6aa4c373d2363edb84f21b412b28099ebc10f77c7ffdc8f7430c24b46c6c'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Negative.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Negative.lean', 'kind': 'negative_fixture', 'expected_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab', 'actual_sha256': '33282dc03af5bd50a08ba427d1d14e3ec3689ab6872498cf0e4234b5ebaf21ab'}]} + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 448, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '223f2ed9f47714b81b45f4a6f467cb3859fe9e66a57ba4b5699c382d287b6ebf', 'inventory_sha256': {'r': '53cf276f25d905af6a4ec10a82a64a9a84974b5e7076ccbf6fd1964b805da4ea'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q/Bad.lean', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/Bad.lean', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7150980730169270c7ff5639934bfee008ece5544fc563a3820bc31d107710b9', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15', 'actual_sha256': 'c0cb61b943690415f9905659eb79269a0703cbdf7b88f00edd7d6c64893e2d15'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '850ca38b142f9d7d451b8075f14f62ed73e774c9d2eb939726a728f1280885bf', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8', 'actual_sha256': '67288bf0fa0363e54a12a380c08def1b71548e82712c70eeef36513d02983af8'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '15ac4a755fe5de3dc6900435aeb31b1cc242108478a766c6cadb3b6c196e4a35', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238', 'actual_sha256': '5a0ba46b47f99a1e08a09aab3204e666cb6f1e42714509faa19ad2dbc2916238'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'bb8d35a648a362b1eaad4951597b72730c9db3a90559d30deef9d8305a87fc0e', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c', 'actual_sha256': 'dd384778dced1a706c970b6c986e03f06d30814e8755e40ca5f0c50742ee048c'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '58dcd07d28f5c504c168421eb5e167796c8330d53556a4f82f7093b081baf889', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e', 'actual_sha256': '15404fc99a68c88d8f263cb3c1a362ffd1c4a4fc20759abc90bd1faecd60cb3e'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c8086b726610d819e7193f6d5fc497a5987dcaca0a0461c5de0f027f3ba1e283', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '7f3de2d9c20c8194812bcd6b2385e152c32b6d09488e4d64ada70687520ca1f1', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '997a62c12db8e06a39405f6c20dc948a2947e79ef390ae369a091db6ecdfab77', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='/- unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6003f3634fd7dc0821a9cf1224a52784e076119dccbf733e538b9fe0d9288d33', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3', 'actual_sha256': '2ca47c243b103c403518d3af5b4505ed937e67b4f35953af8d5f2df5e9f10bf3'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := "unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '8aa21b042e346e5d2902cd13de794a4a5526368bdd625b9f78829c209b6e1681', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40', 'actual_sha256': 'bcec77686cffbfca85319f405f2c528c5d504d17d28b0b7d6f4e6a8e90b27c40'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def s := r#"unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'ad0ff2a4ad8e2bebaaff29118ec7df6dee4c96e6281a081e797353caff8a9aec', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757', 'actual_sha256': '9b14d041175ed48374c8b1bb9b1d234bc6edfc983fef02a41f39cca204843757'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def «unterminated') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '855c1e35514adb860de53e5d6993e1f8a4b4fdeca656175c9d04e5c1753cb7b5', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89', 'actual_sha256': 'b6ab1aff48da73291df6101f396baf65002ce916b9cc37f30fb66c43d852af89'}]} + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 301, in test_retained_text_source_requires_language_then_a_registered_module + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '6b93ee5d5f03c17c4845dc38adb0626d979039e663ccb410eb4be43a8f27fe68', 'inventory_sha256': {'r': 'b0a7b52eb69842f784a6c4644bec66f5dca66d3d8c6b911dbb8d530f48f49d64'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'RETAINED_FINDING_MISMATCH', 'root': 'r', 'path': 'Q.txt', 'line': 0, 'detail': "expected {'LEAN_PLACEHOLDER': 1} actual {}"}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q.txt', 'kind': 'quarantined_source', 'expected_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d', 'actual_sha256': '0cb207672674996c2ad21efef4212f6c4f64bf660a955c80e1985a8d1e69096d'}]} + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_FLOAT_REVIEW_GAP' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 182, in test_lean_block_comment_separator_cannot_join_identifiers_into_escape + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='admit') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='sorryAx') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='axiom fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='constant fake : False') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_AXIOM' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='native_decide') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceBool') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceNat') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.ofReduceInt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) (word='Lean.trustCompiler') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 44, in test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='/- unclosed') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := "open') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def r := r##"open"#') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def «open := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) (text='def s := s!"{by sorry}"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 65, in test_lexical_incompleteness_and_interpolation_are_fatal_not_silent + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='macro "magic" : term => `(by trivial)') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='elab "magic" : term => pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='unsafe def x := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='syntax "magic" : term') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) (text='run_elab pure ()') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 71, in test_macro_expansion_and_unsafe_trust_require_separate_certifier + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Environment.addDeclWithoutChecking') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Environment.«addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «addDeclWithoutChecking»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_KERNEL_BYPASS' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide +native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide + native') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.«ofReduceBool»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := «sorryAx»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 58, in test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 199, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-qrb9rz6l/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.344s + +FAILED (failures=72) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log new file mode 100644 index 000000000..07547be80 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0hhs6wmy/tests/test_auditor.py", line 515, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_CONTRADICTION',self.codes()) +AssertionError: 'VACUITY_CONTRADICTION' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.331s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log new file mode 100644 index 000000000..7f13fffbc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-owwavl1d/tests/test_auditor.py", line 450, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('QUARANTINE',self.codes()) +AssertionError: 'QUARANTINE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log new file mode 100644 index 000000000..d0f8e2bf9 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-guutb59b/tests/test_auditor.py", line 444, in test_negative_fixture_retains_exact_violation_and_never_counts_as_clean + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-guutb59b/tests/test_auditor.py", line 453, in test_quarantine_requires_exact_boundary_and_scans_retained_source + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) +AssertionError: 'RETAINED_FINDING_MISMATCH' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.335s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log new file mode 100644 index 000000000..bd3436548 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log @@ -0,0 +1,90 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Elab.«admitGoal»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p8hmkxww/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='def x := Lean.Meta.«mkSorry»') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-p8hmkxww/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.338s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log new file mode 100644 index 000000000..e675aa75c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log @@ -0,0 +1,123 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') ... FAIL + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') ... FAIL + test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'c08547247b708e6560784f9648fe818bcd8084cb60b66ca81819d72cf6f81286', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785', 'actual_sha256': '92785311216c5d3594df5ce80540bf34337710676330961fad37efa562c15785'}]} + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source='def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b568b515bc0dd9beb03d62cadd101871dddee2e2c6e3b6364ce6bd418f128d05', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84', 'actual_sha256': '4e027309f6aebddab73d0dbca5c93fb27f5431b5e349ae4914e06b8515915f84'}]} + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := {\n native\n :=\n true\n})') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) (source='theorem t : True := by decide (config := { «native» /- gap -/ := true })') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-ijyhtp1a/tests/test_auditor.py", line 102, in test_reported_kernel_escape_names_and_native_config_layouts + self.assertIn(code,self.lean_codes(source)) +AssertionError: 'LEAN_NATIVE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.333s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log new file mode 100644 index 000000000..509d0357e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log @@ -0,0 +1,101 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')") ... FAIL + test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="vars()['__builtins__']['__import__']('Q.bad')") ... FAIL +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-r95tq70x/tests/test_auditor.py", line 284, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertEqual(r['result'],'FAIL',r) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '9bf0c3e2461911d662b7fb9706bf0014025304288eed4917d8c6debee5bb2efa', 'inventory_sha256': {'r': 'da5c483a10a4572334df90f0b7cf8a9e9cae04845b1b459107489dd0ef583c66'}, 'classified_count': 3, 'scanned_count': 3, 'retained_count': 1, 'findings': [], 'fatal_gaps': [], 'retained_findings': [{'root': 'r', 'path': 'Q/bad.py', 'code': 'PY_INEXACT', 'detail': 'float/complex literal forbidden in mathematical program', 'line': 1}], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Q/bad.py', 'kind': 'quarantined_source', 'expected_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815', 'actual_sha256': 'e904f92c1aae8d57c0d00bba1460f18b221c40ce303be0beaf7d3ab9cdbe8815'}, {'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4', 'actual_sha256': '7eb349b3dad5b8bb7382d60189f8e5efd64f7a51d6a2d277b1ff66b8b49d9bd4'}, {'root': 'r', 'path': 'runner.py', 'kind': 'engineering_python', 'expected_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83', 'actual_sha256': '2d97fdb00cc12a11afe32db1b75425e2d55c0fd584d653220114874c7d658f83'}]} + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-r95tq70x/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +====================================================================== +FAIL: test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) (source="vars()['__builtins__']['__import__']('Q.bad')") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-r95tq70x/tests/test_auditor.py", line 191, in test_defined_reflective_loader_forms_fail_in_engineering_scope + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.341s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log new file mode 100644 index 000000000..05c9b0bbe --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yenmml2e/tests/test_auditor.py", line 611, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-yenmml2e/tests/test_auditor.py", line 482, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.328s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log new file mode 100644 index 000000000..ce4f566bb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log @@ -0,0 +1,107 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') ... FAIL + test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... FAIL +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8rfjteh7/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand='r"Q.Bad"') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8rfjteh7/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) (operand="'q'") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8rfjteh7/tests/test_auditor.py", line 205, in test_literal_import_operands_are_explicit_gaps_after_valid_prefix + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +====================================================================== +FAIL: test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-8rfjteh7/tests/test_auditor.py", line 199, in test_unsupported_import_tail_is_a_gap_after_a_valid_prefix + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) +AssertionError: 'LEAN_IMPORT_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.330s + +FAILED (failures=4) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log new file mode 100644 index 000000000..f934ddd9c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log @@ -0,0 +1,227 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... FAIL +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... FAIL +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... FAIL +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... FAIL +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 415, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH_SYMLINK',self.codes()) +AssertionError: 'PATH_SYMLINK' not found in set() + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 509, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2bffdf2a374fad6a19525c2276f709317c85347e752e758360c3202f23f776d4', 'inventory_sha256': {'r': 'aae11728cb74dfd305acf778f64540681ea5573c80f1c2e71d1d1861e950f8b8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G2 subject evidence'}, {'code': 'BINARY_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/nonpassing G4 subject evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G2 binary proof evidence'}, {'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.olean', 'line': 0, 'detail': 'missing/stale/unreadable G4 binary proof evidence'}], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.olean', 'kind': 'binary_proof', 'expected_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a', 'actual_sha256': '680bdf0c109e2e41888ec29cc50ae53db2c412efdda5008663bee535e0211a8a'}]} + +====================================================================== +FAIL: test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 285, in test_bound_engineering_review_cannot_waive_defined_reflective_loader + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 461, in test_closed_import_cannot_reach_quarantine_directly_or_transitively + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) +AssertionError: Items in the second set but not the first: +'Mid.lean' +'Top.lean' + +====================================================================== +FAIL: test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 330, in test_complete_manifest_counts_every_file_and_is_deterministic + self.assertEqual(r['classified_count'],2) +AssertionError: 1 != 2 + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 339, in test_each_file_is_really_scanned_not_only_first + self.assertIn('LEAN_PLACEHOLDER', self.codes()) +AssertionError: 'LEAN_PLACEHOLDER' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 492, in test_engineering_from_import_alias_checks_a_mapped_submodule_boundary + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 429, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '5b2adc18a31544f49333cfdd54ce41a19617e136b1d835a6da28878b92122696', 'inventory_sha256': {'r': '9b623248b41671d0cda28e974cdcb807e53e9b29dcc252483131d7426ab650c5'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'MODULE_ALIAS', 'root': '', 'path': '', 'line': 0, 'detail': 'module map points outside classified scope: python:timer'}], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'review.json', 'kind': 'documentation', 'expected_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e', 'actual_sha256': '4200cae789e21a246b7409cc6f48634e50a6941fb89ef876fb784f0f3030221e'}]} + +====================================================================== +FAIL: test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 611, in test_exact_math_cannot_import_a_nonmathematical_fractions_shadow + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) +AssertionError: 'MATH_DEPENDENCY_GAP' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 482, in test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 603, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 307, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 594, in test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) +AssertionError: 'FAIL' != 'STATIC_PASS' +- FAIL ++ STATIC_PASS + : {'schema_version': 1, 'result': 'FAIL', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': '2770686b1504b0db1be528f2e7a59d6040cb2a1ce978d6d25176eceeb9031568', 'inventory_sha256': {'r': '5b61cf66fce2be9b0fdc1f5f70f9965abdf47586d302ceefa8f2f4469df29aa8'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}, {'code': 'VACUITY_EVIDENCE', 'root': 'r', 'path': 'Closed.lean', 'line': 1, 'detail': 'content-bound nonvacuity witness certificate required for t@1'}], 'fatal_gaps': [{'code': 'EVIDENCE_BINDING', 'root': 'r', 'path': 'Closed.lean', 'line': 0, 'detail': 'missing/stale/unreadable nonvacuity certificate t@1'}], 'retained_findings': [], 'vacuity_observations': [{'root': 'r', 'path': 'Closed.lean', 'declaration': 't@1', 'status': 'nonvacuous', 'contradiction_candidates': []}], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Closed.lean', 'kind': 'project_lean', 'expected_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65', 'actual_sha256': 'a1bdd210ca885f3d688e49c098cf501060635151bd26b05c2ea441218a386e65'}]} + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 476, in test_python_import_alias_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'MODULE_ALIAS'} + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 323, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 533, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-tuzx3yej/tests/test_auditor.py", line 470, in test_unknown_module_alias_and_dynamic_import_fail_closed + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) +AssertionError: 'PY_DYNAMIC_IMPORT' not found in {'IMPORT_UNRESOLVED', 'MODULE_ALIAS'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=18) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log new file mode 100644 index 000000000..eae718978 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l287qjoh/tests/test_auditor.py", line 502, in test_binary_proof_requires_bound_g2_g4_evidence + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +====================================================================== +FAIL: test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-l287qjoh/tests/test_auditor.py", line 578, in test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode + self.assertIn('BINARY_BINDING',self.codes()) +AssertionError: 'BINARY_BINDING' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.334s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log new file mode 100644 index 000000000..97157d997 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log @@ -0,0 +1,120 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... + test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") ... FAIL +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") ... FAIL + test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") ... FAIL + +====================================================================== +FAIL: test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) (source="def c := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 273, in test_reported_hazards_fail_through_actual_manifest_auditor_interface + self.assertEqual(result['result'],'FAIL',result) +AssertionError: 'STATIC_PASS' != 'FAIL' +- STATIC_PASS ++ FAIL + : {'schema_version': 1, 'result': 'STATIC_PASS', 'claim': 'bounded static rules only; not CBZ-0 or mathematical proof closure', 'manifest_sha256': 'b908b7e9d62aab46dc648c68dbafb8f66e4a4fec2e2916ec6f6afd8d6e7ed868', 'inventory_sha256': {'r': 'cc91ef62c0b7fa823241b9baa2a191221e2428dbd3a49287527822368a1734f4'}, 'classified_count': 1, 'scanned_count': 1, 'retained_count': 0, 'findings': [], 'fatal_gaps': [], 'retained_findings': [], 'vacuity_observations': [], 'remaining_obligations': [{'gate': 'G2', 'required_work': 'All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'}, {'gate': 'G3', 'required_work': 'Actual Lean build and no sorry warnings; source scanning does not execute Lean.'}, {'gate': 'G4', 'required_work': 'Kernel recheck every closed declaration and all bound binary proof objects.'}, {'gate': 'G5', 'required_work': 'Execute retained regression tests; source profile does not establish runtime success or historical test retention.'}, {'gate': 'G7', 'required_work': 'Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'}, {'gate': 'G8', 'required_work': 'Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'}, {'gate': 'G10', 'required_work': 'Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.'}], 'files': [{'root': 'r', 'path': 'Hazard.lean', 'kind': 'project_lean', 'expected_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059', 'actual_sha256': 'b4df7b74a5335c0aaa6f35ad25203c8e51badb2c6867596f8a92f71020c37059'}]} + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := 'a") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\n") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '\\") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +====================================================================== +FAIL: test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) (source="def x := '") +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-57p6uuw5/tests/test_auditor.py", line 107, in test_unterminated_character_literals_are_never_silent + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) +AssertionError: 'LEAN_LEXICAL_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.336s + +FAILED (failures=5) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log new file mode 100644 index 000000000..3d258f1e1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-0bt73mx7/tests/test_auditor.py", line 307, in test_mapped_external_text_module_cannot_skip_supported_source_analysis + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.339s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log new file mode 100644 index 000000000..a4f0201b7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wsh38npl/tests/test_auditor.py", line 425, in test_engineering_requires_explicit_bound_nonmathematical_review + self.assertIn('NONMATH_REVIEW',self.codes()) +AssertionError: 'NONMATH_REVIEW' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.338s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-path-validation.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-path-validation.log new file mode 100644 index 000000000..4958a1786 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-path-validation.log @@ -0,0 +1,135 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') ... FAIL + test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') ... FAIL +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='../a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='/a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='./a.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_HASH'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a//b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='a\\b') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é/../a') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) (path='é.txt') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-rpgneoak/tests/test_auditor.py", line 411, in test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) +AssertionError: 'PATH' not found in {'FILE_MISSING'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.329s + +FAILED (failures=7) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log new file mode 100644 index 000000000..63d8ef258 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4eij7v9z/tests/test_auditor.py", line 297, in test_retained_text_source_requires_language_then_a_registered_module + self.assertIn('LANGUAGE_GAP',self.codes()) +AssertionError: 'LANGUAGE_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.329s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log new file mode 100644 index 000000000..0b30ba2c7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log @@ -0,0 +1,96 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... FAIL +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fvwn3usq/tests/test_auditor.py", line 603, in test_malformed_vacuity_and_status_types_are_explicit_findings + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fvwn3usq/tests/test_auditor.py", line 323, in test_status_observation_binding_distinguishes_json_booleans_and_integers + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-fvwn3usq/tests/test_auditor.py", line 533, in test_status_pass_requires_actual_bound_observation_not_aspiration + self.assertIn('STATUS_EVIDENCE',self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.323s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log new file mode 100644 index 000000000..a01d396c5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log @@ -0,0 +1,88 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... FAIL +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bd3itz_w/tests/test_auditor.py", line 369, in test_missing_unreadable_invalid_utf8_files_are_not_skipped + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +====================================================================== +FAIL: test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-bd3itz_w/tests/test_auditor.py", line 388, in test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read + self.assertIn('FILE_UNREADABLE',self.codes()) +AssertionError: 'FILE_UNREADABLE' not found in set() + +---------------------------------------------------------------------- +Ran 67 tests in 0.332s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log new file mode 100644 index 000000000..ad25a30ba --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log @@ -0,0 +1,80 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-onlemt23/tests/test_auditor.py", line 517, in test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected + self.assertIn('VACUITY_COVERAGE',self.codes()) +AssertionError: 'VACUITY_COVERAGE' not found in {'VACUITY_ANNOTATION'} + +---------------------------------------------------------------------- +Ran 67 tests in 0.323s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log new file mode 100644 index 000000000..0a50bcf2e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log @@ -0,0 +1,95 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_binary_source_language_mismatch_is_a_finding_not_a_crash (test_auditor.ManifestRules.test_binary_source_language_mismatch_is_a_finding_not_a_crash) ... ok +test_bound_engineering_review_cannot_waive_defined_reflective_loader (test_auditor.ManifestRules.test_bound_engineering_review_cannot_waive_defined_reflective_loader) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_cli_output_write_failure_has_distinct_nonzero_code (test_auditor.ManifestRules.test_cli_output_write_failure_has_distinct_nonzero_code) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_known_unsupported_source_suffix_cannot_claim_a_supported_language (test_auditor.ManifestRules.test_known_unsupported_source_suffix_cannot_claim_a_supported_language) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_malformed_vacuity_and_status_types_are_explicit_findings (test_auditor.ManifestRules.test_malformed_vacuity_and_status_types_are_explicit_findings) ... ok +test_mapped_external_text_module_cannot_skip_supported_source_analysis (test_auditor.ManifestRules.test_mapped_external_text_module_cannot_skip_supported_source_analysis) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases (test_auditor.ManifestRules.test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_reported_hazards_fail_through_actual_manifest_auditor_interface (test_auditor.ManifestRules.test_reported_hazards_fail_through_actual_manifest_auditor_interface) ... ok +test_retained_text_source_requires_language_then_a_registered_module (test_auditor.ManifestRules.test_retained_text_source_requires_language_then_a_registered_module) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_axiom_audit_print_command_is_not_a_new_axiom_declaration (test_auditor.SourceRules.test_axiom_audit_print_command_is_not_a_new_axiom_declaration) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_defined_reflective_loader_forms_fail_in_engineering_scope (test_auditor.SourceRules.test_defined_reflective_loader_forms_fail_in_engineering_scope) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) ... FAIL +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_literal_import_operands_are_explicit_gaps_after_valid_prefix (test_auditor.SourceRules.test_literal_import_operands_are_explicit_gaps_after_valid_prefix) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_new_kernel_escape_names_inside_comments_and_strings_are_not_code (test_auditor.SourceRules.test_new_kernel_escape_names_inside_comments_and_strings_are_not_code) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_reported_kernel_escape_names_and_native_config_layouts (test_auditor.SourceRules.test_reported_kernel_escape_names_and_native_config_layouts) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_unsupported_import_tail_is_a_gap_after_a_valid_prefix (test_auditor.SourceRules.test_unsupported_import_tail_is_a_gap_after_a_valid_prefix) ... ok +test_unterminated_character_literals_are_never_silent (test_auditor.SourceRules.test_unterminated_character_literals_are_never_silent) ... ok + +====================================================================== +FAIL: test_primed_lean_module_after_valid_import_cannot_hide_quarantine (test_auditor.ManifestRules.test_primed_lean_module_after_valid_import_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3xpdgv48/tests/test_auditor.py", line 314, in test_primed_lean_module_after_valid_import_cannot_hide_quarantine + self.assertIn('QUARANTINE_IMPORT',self.codes()) +AssertionError: 'QUARANTINE_IMPORT' not found in {'LEAN_IMPORT_GAP'} + +====================================================================== +FAIL: test_import_module_primes_and_identifier_suffixes_are_extracted_completely (test_auditor.SourceRules.test_import_module_primes_and_identifier_suffixes_are_extracted_completely) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-3xpdgv48/tests/test_auditor.py", line 195, in test_import_module_primes_and_identifier_suffixes_are_extracted_completely + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) +AssertionError: Lists differ: ['Good'] != ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +Second list contains 3 additional elements. +First extra element 1: +"Q.Bad'" + +- ['Good'] ++ ['Good', "Q.Bad'", 'Q.Other!', 'Q.Last?'] + +---------------------------------------------------------------------- +Ran 67 tests in 0.333s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final.json b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final.json new file mode 100644 index 000000000..e4b8916fc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/evidence/g0-admission-final.json @@ -0,0 +1,748 @@ +{ + "baseline": { + "assertion_failures": 0, + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "-m", + "unittest", + "discover", + "-s", + "/workspace/cbz-0/tools/layer_a/tests", + "-v" + ], + "errors": 0, + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log", + "log_sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546", + "returncode": 0, + "tests_run": 70 + }, + "claim": "finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness", + "command": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "-S", + "/workspace/cbz-0/tools/layer_a/mutation_test.py", + "--output", + "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final.json" + ], + "ended_utc": "2026-10-29T18:08:38.534945+00:00", + "gate": "G0", + "mutants": [ + { + "assertion_failures": 72, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "log_sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089", + "mutated_sha256": "e703ea1df3698d6df11fc27667a3d8f7427dea605a2bb117c7bc81598e4bfb10", + "name": "empty-lean-findings", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "canonical_lean.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "log_sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad", + "mutated_sha256": "f5da7786e5b6414f1e6c469028bf5eec079588ffd08516283315c56a31cba264", + "name": "canonical-unicode-boundary-weakened", + "original_sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 17, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "log_sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328", + "mutated_sha256": "27dad1ba20178613c169392886d5088b3560eb8e9e825857f013d36ce9311b4a", + "name": "disable-placeholder-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "log_sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc", + "mutated_sha256": "cf0ffc9d029466870832065c5e44ec0ab12f5b4584073dd43d17919ccb90d0fd", + "name": "disable-axiom-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 19, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "log_sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736", + "mutated_sha256": "3e343b4125adead71caf8e0118ea89e870df06c4d44c8e843387b97f0ee50e08", + "name": "disable-native-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "log_sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e", + "mutated_sha256": "c1dfac132e805e04aa369c59256b56ff208e0feabff384d32356b5b3b5e970d0", + "name": "disable-unchecked-declaration-refusal", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "log_sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488", + "mutated_sha256": "d400c8e6205ed1fe4bd62ff7ca482e2ded2bf44891c2f9d9f9f1f1ecd7fccbca", + "name": "skip-malformed-character-refusal", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "log_sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0", + "mutated_sha256": "bd88ea1be6e3ca7f55924db8d6c0508dfa6b169285344011a77d3c38e0b49a79", + "name": "miss-escaped-placeholder-helpers", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 11, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "log_sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d", + "mutated_sha256": "e30e297691e77d9aad23ab7e1b6087e9f3fd864ad07f13828711b5b083c289a9", + "name": "drop-escaped-constant-normalization", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "log_sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46", + "mutated_sha256": "71ba4a47cbb1b88e1b406fcf5c1aa12725729eb77422a378a376924cf3b19a98", + "name": "miss-multiline-commented-native-config", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "log_sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27", + "mutated_sha256": "5087a4deac94349bb9ab0ed3ff147425f35e5eaa24886c696d835bc520e64ec5", + "name": "disable-macro-gap-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "log_sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d", + "mutated_sha256": "7104259f1468e4bb3207c6badb527c31377f4f75061c55ba6164b7af431fbc29", + "name": "drop-lean-dependencies", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "log_sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4", + "mutated_sha256": "6b50d64b71693b414a88d8695954871d15b7ea1ef20ce631c1a9d50c6cf893ec", + "name": "disable-float-literal-category", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "log_sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f", + "mutated_sha256": "900f843fa832c44a96855157f777a69e754dadaab01d35ed9f0d061e1c63766b", + "name": "allow-python-division", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "log_sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94", + "mutated_sha256": "56c9da849e9b13ff4c8259d6a380698db9913c5eeea20ca3f98a8dad8e2a6e49", + "name": "allow-negative-dynamic-powers", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 6, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "log_sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7", + "mutated_sha256": "0f6940e4ebe8fb499ed354e9b55ab198ab93d3e23f9c7227b01d1721d2d86a26", + "name": "allow-unknown-python-calls", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 27, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "log_sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de", + "mutated_sha256": "cde54c7b6c8cf58ffc7502de4e66d37abd9db4c71dc57d114f895cf6e3766e1c", + "name": "disable-exact-python-profile", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "log_sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5", + "mutated_sha256": "28ad54e67290e686da8a2460d344c53dcb6d8e9d44bd3782f9cc487a3fc74bb1", + "name": "allow-reflective-attributes", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "log_sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836", + "mutated_sha256": "7cf6e55e61db2df9f8e53a2cf1dfb26563305fb92c64ba35c20b935fab282d4c", + "name": "allow-protected-name-rebinding", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "log_sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177", + "mutated_sha256": "575d2b7ba2cc8fd98a46cf259429c8a0fe29e8ba286f18e2249052e5199fd1ae", + "name": "restore-reflective-builtin-loader-gap", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "log_sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9", + "mutated_sha256": "90e657f24ec4358a712073942dfba697412b89beb9b5f75c90fbefe035e5bf48", + "name": "disable-reflective-loader-attributes", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "log_sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9", + "mutated_sha256": "4471994d0c268f39ef2b17edbe881412219d77f8f797e0ab76636f10d09fec4c", + "name": "truncate-primed-lean-imports", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 4, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "log_sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4", + "mutated_sha256": "290fb883f7fbc6ccebc556c9aa9e839493116ba6d2adcbf2c86140976bad1aa1", + "name": "silence-unsupported-lean-import-tail", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "source_checks.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "log_sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b", + "mutated_sha256": "8d9081e4f8a0898ccf213c8384cad5f4f3d2684942da875ca5d3cd4d4841b591", + "name": "drop-literal-import-operands", + "original_sha256": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 18, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "log_sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5", + "mutated_sha256": "69e375bc320ca9c6abdea92213403bfd9e12a114301e6a2b6494818e7ccc014e", + "name": "skip-all-but-first-file", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "log_sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889", + "mutated_sha256": "48c96a26ab55f40ede02c74709fb6ebf3335a17f843849f1c921b21e3406c399", + "name": "allow-incomplete-classification", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "log_sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19", + "mutated_sha256": "b84782e338dd822337e2244d634cf2e51aa82c79c4833ae3a621a7ffff99e9ba", + "name": "allow-unknown-classification", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "log_sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb", + "mutated_sha256": "7448dafb9054d2afb3e63b7ff76c7ff1ef489534b69d3d8a4d0634698b3b27d5", + "name": "disable-content-hash-check", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "log_sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea", + "mutated_sha256": "87c24ba07b356e7e364e3127b8971a16052cc5800d298c624b5df91291f6b33f", + "name": "allow-symlink-files", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "log_sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5", + "mutated_sha256": "c2f8571f2282a01b3ea2f55607a3f90a9709adc0ca5ee6ea882bff21a142591a", + "name": "allow-unreadable-files", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "log_sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307", + "mutated_sha256": "61a6f562c034a4f488ad982e414087468bed2b0b6bfb3be2cfc6c3ea40244ec8", + "name": "skip-unreadable-file", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "log_sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f", + "mutated_sha256": "a966ddfd36f30f30278a0bb11e941b6fa4e51b3de359e8b687c88eeb06c0bca7", + "name": "allow-relabeled-source", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "log_sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc", + "mutated_sha256": "607bb74f51e51cc5ee46a0d2295ed3d8ec4e7f2148d6a7030656787cc24e965d", + "name": "skip-retained-text-language-requirement", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "log_sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa", + "mutated_sha256": "e0547a33482dbd4959197807972a0375a36b341bef1e529b6ef5081892eeae56", + "name": "skip-mapped-external-language-requirement", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "log_sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad", + "mutated_sha256": "9ff9077cc4c1d48064801bc58f4c517eebf4268bbe76c4b9ad0484a029d02720", + "name": "allow-unsupported-source-extension-language", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "log_sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0", + "mutated_sha256": "9a1da07268fbc196c6495d443b104e521c8c6777efd8b41c97d91732600762f6", + "name": "allow-unpinned-external-source", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "log_sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff", + "mutated_sha256": "a0a49c9c1834ffcc896c7fb1b4647e3a6e6ac9861dc4c746e7ada69e55521519", + "name": "skip-nonmath-review", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "log_sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08", + "mutated_sha256": "5962f12d5e21a42c51dfee0a0e36b08fc026bb8f1749663db160f69e8fedbdaa", + "name": "skip-binary-proof-bindings", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "log_sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7", + "mutated_sha256": "0ad467e11574af1cec9aca8468bc0c92dbe5ff20a70e8eb2bd13abef6c269c4d", + "name": "ignore-retained-finding-counts", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "log_sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf", + "mutated_sha256": "c9f8b6957c524f664cfd46989561256d69aebebc76f19d9baa04ed751e7d32f6", + "name": "ignore-quarantine-boundary", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "log_sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f", + "mutated_sha256": "42ffed6fe875e4dd338c529c88c5fb686169f321dd726074ec568533da181a82", + "name": "restore-shadowed-fractions-exemption", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "log_sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df", + "mutated_sha256": "615b24568a15cb997e1fd90a34d8dca843f495aaaea845792f378d182fdc08d3", + "name": "drop-python-submodule-candidates", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "log_sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2", + "mutated_sha256": "590bdfac944636615fa778d6bf15b65d8bf6876e4a691b159ba0faa1697d7c03", + "name": "allow-nonmath-dependency-values", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 7, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "log_sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403", + "mutated_sha256": "b6b81625c837a06e0a873bc91df7e029c6249bcbb7c0e810adb2e2224b5a8b27", + "name": "skip-path-validation", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 5, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "log_sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e", + "mutated_sha256": "3f869d062ddc5004b13fd3a41be7cf30fc09ecd43686c281c1d49db7de5e5f95", + "name": "allow-quarantine-dependency", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "log_sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5", + "mutated_sha256": "800c195e7c8921678fd2550c76fd7998927e1371b4613165a5324d4cd47ffe74", + "name": "skip-vacuity-coverage", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "log_sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd", + "mutated_sha256": "e5fb7b3deff8cc149ecb6f53974b07df568c16c798f5420646eb9230840fab4a", + "name": "ignore-contradictory-hypotheses", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "log_sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993", + "mutated_sha256": "d232b31230cb4f5f9d3e8a144a518e10d62fd1fe9276f95da2b72ad0dee50c8e", + "name": "allow-unbound-nonvacuity", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 3, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "log_sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3", + "mutated_sha256": "9192930e190e4adbf064e04dc0decd9efcf833c542939848df5e719c79fe7a3d", + "name": "skip-status-evidence", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 1, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "log_sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655", + "mutated_sha256": "3a5046a1453f3d5b2c9ef5fd04127ac2c89d57452f1ac4c1e650dc0f4a81d9ab", + "name": "conflate-status-json-booleans-and-integers", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 2, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "log_sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e", + "mutated_sha256": "0a5b0ff77adaa8364cb1187cb6a638af5b03f1e4097a2e65eb4071b3c6091533", + "name": "allow-arbitrary-foundation-set", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 68, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "log_sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132", + "mutated_sha256": "2456550d625b4153bea1b2083ef2392f1b58920922375c6a5879938f005e47e0", + "name": "empty-final-findings", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + }, + { + "assertion_failures": 22, + "errors": 0, + "file": "auditor.py", + "log": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "log_sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5", + "mutated_sha256": "addcfbea27a62bdaf6fc1d8bab2c23943e3d12177bcd521b31fdd35a8856f2a4", + "name": "always-report-static-pass", + "original_sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 67 + } + ], + "observed_status": "PASS", + "schema_version": 1, + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", + "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "source_unchanged_during_run": true, + "started_utc": "2026-10-29T18:08:14.586906+00:00", + "threshold": { + "declared_mutants": 53, + "killed": 53, + "ratio": { + "denominator": 53, + "numerator": 53 + }, + "required_killed": 53, + "rule": "every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/mutation_test.py new file mode 100644 index 000000000..7e8b544f8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/mutation_test.py @@ -0,0 +1,162 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"if ch in _EXCLUDED_LETTERS:","if False:"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"error('unsupported or unterminated character literal'); advance(i + 1)","advance(i + 1)"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def run_one(name, filename, transform, output_dir): + """Execute the unchanged behavioral suite against a temporary actual checker mutation.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + (root/filename).write_text(changed,encoding='utf-8') + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(root/'tests'),'-p','test_auditor.py','-v'] + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + try: + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + except subprocess.TimeoutExpired as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + tests,failures,errors=parse_test_result(output,p.returncode) + if p.returncode==0 and tests: + outcome='SURVIVED' + elif p.returncode!=0 and tests and failures and not errors: + outcome='KILLED' + else: + outcome='ERROR' + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode,'tests_run':tests, + 'assertion_failures':failures,'errors':errors,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(HERE/'tests'),'-v'] + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + tests,failures,errors=parse_test_result(baseline.stdout,baseline.returncode) + results=[] + if baseline.returncode==0 and tests: + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline.returncode==0 and tests>0 and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/source_checks.py b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/source_checks.py new file mode 100644 index 000000000..eb69975d1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/source_checks.py @@ -0,0 +1,310 @@ +"""Bounded lexical/AST checks. See SPEC.md for claims, trust profile and nonclaims.""" +import ast +from dataclasses import dataclass +import re + +from canonical_lean import lex_tokens as canonical_identifier_tokens, _CHAR_LIT as canonical_character_literal + + +@dataclass(frozen=True) +class Token: + text: str + line: int + column: int + quoted: bool = False + + +def finding(code, detail, line=0): + return {'code': code, 'detail': detail, 'line': line} + + +def lean_tokens(text): + """Tokenize source without interpreting syntax, retaining accurate source locations.""" + tokens, gaps = [], [] + i, line, column, n = 0, 1, 0, len(text) + + def advance(end): + nonlocal i, line, column + segment = text[i:end] + count = segment.count('\n') + column = len(segment.rsplit('\n', 1)[-1]) if count else column + len(segment) + line += count + i = end + + def error(detail): + gaps.append(finding('LEAN_LEXICAL_GAP', detail, line)) + + def literal(): + tokens.append(Token('', line, column)) + + while i < n: + c = text[i] + if c.isspace(): + advance(i + 1) + elif text.startswith('--', i): + end = text.find('\n', i + 2) + advance(n if end < 0 else end) + elif text.startswith('/-', i): + j, depth = i + 2, 1 + while j < n and depth: + if text.startswith('/-', j): + depth += 1; j += 2 + elif text.startswith('-/', j): + depth -= 1; j += 2 + else: + j += 1 + if depth: + error('unterminated nested block comment') + advance(j) + elif (raw := re.match(r'r(#+)?"', text[i:])) is not None: + literal() + marker = '"' + (raw.group(1) or '') + end = text.find(marker, i + raw.end()) + if end < 0: + error('unterminated raw string literal'); advance(n) + else: + advance(end + len(marker)) + elif c == '"': + literal() + if i > 0 and text[i - 1] == '!': + error('interpolated string can contain executable terms; requires elaborated certification') + j = i + 1 + while j < n: + if text[j] == '\\': + j += 2 + elif text[j] == '"': + break + else: + j += 1 + if j >= n: + error('unterminated string literal'); advance(n) + else: + advance(j + 1) + elif c == '«': + end = text.find('»', i + 1) + if end < 0: + error('unterminated escaped identifier'); advance(n) + else: + tokens.append(Token(text[i + 1:end], line, column, True)); advance(end + 1) + elif c == "'": + match = canonical_character_literal.match(text, i) + if match is not None: + literal() + advance(match.end()) + else: + error('unsupported or unterminated character literal'); advance(i + 1) + elif c.isalpha() or c == '_' or c.isdigit(): + j = i + 1 + while j < n and (text[j].isalnum() or text[j] in "_'!?" or (text[j] == '.' and j + 1 < n and (text[j + 1].isalpha() or text[j + 1] == '_'))): + j += 1 + tokens.append(Token(text[i:j], line, column)); advance(j) + else: + pair = text[i:i + 2] + if pair in {':=', '=>', '->', '<=', '>=', '!=', '==', '<-'}: + tokens.append(Token(pair, line, column)); advance(i + 2) + else: + tokens.append(Token(c, line, column)); advance(i + 1) + return tokens, gaps + + +def _contradictions(header): + """Detect only declared source shapes; this does not interpret Lean propositions.""" + hypotheses = [] + stack = [] + for i, t in enumerate(header): + if t in {'(', '{', '['}: + stack.append((i, t)) + elif t in {')', '}', ']'} and stack: + start, opening = stack.pop() + interior = header[start + 1:i] + depth, colon = 0, None + for j, word in enumerate(interior): + if word in {'(', '{', '['}: depth += 1 + if word in {')', '}', ']'}: depth -= 1 + if word == ':' and depth == 0: + colon = j; break + if colon is not None: + hypotheses.append(tuple(interior[colon + 1:])) + for i, t in enumerate(header[:-1]): + if t == 'False' and header[i + 1] in {'→', '->'}: + hypotheses.append(('False',)) + candidates = [] + for h in hypotheses: + if h in {('False',), ('Not', 'True'), ('¬', 'True')}: + candidates.append('explicit false hypothesis: ' + ' '.join(h)) + if len(h) == 3 and h[0] == h[2] and h[1] in {'<', '≠', '!='}: + candidates.append('self-strict/disequality hypothesis: ' + ' '.join(h)) + if len(h) == 3 and re.fullmatch(r'[0-9]+',h[0]) and re.fullmatch(r'[0-9]+',h[2]) and h[1] == '=' and int(h[0]) != int(h[2]): + candidates.append('incompatible literal equality candidate: ' + ' '.join(h)) + positive = h[1:] if h and h[0] in {'¬', 'Not'} else None + if positive and positive in hypotheses: + candidates.append('opposing hypotheses: ' + ' '.join(positive)) + return sorted(set(candidates)), [' '.join(h) for h in hypotheses] + + +def check_lean(text): + tokens, findings = lean_tokens(text) + imports, declarations = [], [] + placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'} + native = {'native_decide', 'native', 'ofReduceBool', 'ofReduceNat', 'ofReduceInt', 'trustCompiler', 'skipKernelTC'} + kernel_bypass = {'addDeclWithoutChecking'} + expansion = {'macro', 'macro_rules', 'elab', 'elab_rules', 'syntax', 'unsafe', 'run_elab', 'initialize', 'builtin_initialize', 'implemented_by', 'extern'} + hazards = [] + for raw_name, line, column, first, plus_before, following in canonical_identifier_tokens(text): + parts = raw_name.split('.') + quoted = parts[-1].startswith('\x00') + name = '.'.join(part.removeprefix('\x00').replace('\x01', '.') for part in parts) + hazards.append(Token(name, line, column - 1, quoted)) + for token in hazards: + word = token.text + tail = word.rsplit('.', 1)[-1] + if tail in placeholders and (not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}): + findings.append(finding('LEAN_PLACEHOLDER', word, token.line)) + if tail in {'axiom', 'constant', 'constants'}: + findings.append(finding('LEAN_AXIOM', 'owned/new axiom declaration or reference requires refusal: ' + word, token.line)) + if tail in native: + findings.append(finding('LEAN_NATIVE', 'compiler/native trust escape: ' + word, token.line)) + if tail in kernel_bypass: + findings.append(finding('LEAN_KERNEL_BYPASS', 'unchecked environment declaration insertion: ' + word, token.line)) + if tail in expansion: + findings.append(finding('LEAN_EXPANSION_GAP', 'requires G2/G4 expanded environment certificate: ' + word, token.line)) + if tail in {'Float','Float32'}: + findings.append(finding('LEAN_FLOAT_REVIEW_GAP', 'floating-point use requires a relevant exact mathematical/nonmathematical certificate', token.line)) + for i, token in enumerate(tokens): + word = token.text + if word == 'import': + j = i + 1 + while j < len(tokens): + t = tokens[j] + if t.line > token.line and t.column == 0: + break + if t.quoted or not re.fullmatch(r"[^\W\d][\w'!?]*(?:\.[^\W\d][\w'!?]*)*", t.text, re.UNICODE): + findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line)) + break + imports.append(t.text); j += 1 + if j == i + 1: + findings.append(finding('LEAN_IMPORT_GAP', 'missing or unsupported import syntax', token.line)) + if word in {'theorem', 'lemma', 'example'}: + if word == 'example': + name, j = 'example', i + 1 + else: + if i + 1 >= len(tokens): + findings.append(finding('LEAN_DECLARATION_GAP', 'missing declaration name', token.line)); continue + name, j = tokens[i + 1].text, i + 2 + header, depth = [], 0 + while j < len(tokens): + t = tokens[j].text + if depth == 0 and t in {':=', 'where'}: + break + if depth == 0 and t in {'theorem', 'lemma', 'example'}: + break + if t in {'(', '{', '['}: depth += 1 + if t in {')', '}', ']'}: depth -= 1 + header.append(t); j += 1 + if j == len(tokens) or depth != 0: + findings.append(finding('LEAN_DECLARATION_GAP', 'unsupported/incomplete theorem header', token.line)) + contradictions, hypotheses = _contradictions(header) + declarations.append({'key': name + '@' + str(token.line), 'line': token.line, + 'contradictions': contradictions, 'hypotheses': hypotheses}) + return {'findings': findings, 'imports': imports, 'declarations': declarations} + + +EXACT_BUILTINS = frozenset({'abs', 'all', 'any', 'bool', 'dict', 'enumerate', 'int', 'len', 'list', 'max', + 'min', 'range', 'reversed', 'set', 'sorted', 'sum', 'tuple', 'zip', 'frozenset'}) +ALLOWED_AST = frozenset({ + 'Module','ImportFrom','alias','FunctionDef','arguments','arg','Return','Assign','AnnAssign','AugAssign', + 'Expr','Constant','Name','Load','Store','Del','List','Tuple','Set','Dict','Subscript','Slice', + 'BinOp','UnaryOp','BoolOp','Compare','If','IfExp','For','Break','Continue','Pass','Assert', + 'ListComp','SetComp','DictComp','GeneratorExp','comprehension','Call','keyword','Attribute', + 'Add','Sub','Mult','FloorDiv','Mod','Pow','USub','UAdd','Not','Invert','And','Or', + 'Eq','NotEq','Lt','LtE','Gt','GtE','Is','IsNot','In','NotIn','BitAnd','BitOr','BitXor','LShift','RShift', + 'Div','Import', 'Lambda', 'ClassDef', 'AsyncFunctionDef', +}) + + +def check_python(text, mathematical=True): + findings, imports, import_candidates = [], [], [] + try: + tree = ast.parse(text) + except (SyntaxError, ValueError, RecursionError) as exc: + return {'findings': [finding('PY_SYNTAX', str(exc), getattr(exc, 'lineno', 0) or 0)], 'imports': []} + aliases = {'Fraction'} + local_functions = {n.name for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)} + dynamic_aliases = {'__import__', 'eval', 'exec', 'compile', 'globals', 'locals', '__builtins__', 'vars', 'getattr', 'setattr', 'delattr'} + for node in ast.walk(tree): + if isinstance(node, ast.Import): + for alias in node.names: + imports.append(alias.name) + if alias.name in {'importlib', 'builtins'}: + dynamic_aliases.add(alias.asname or alias.name) + elif isinstance(node, ast.ImportFrom): + name = '.' * node.level + (node.module or '') + imports.append(name) + import_candidates.extend(name + '.' + alias.name for alias in node.names if alias.name != '*') + if node.module == 'fractions' and node.level == 0: + for alias in node.names: + if alias.name == 'Fraction': + aliases.add(alias.asname or alias.name) + if node.module in {'importlib', 'builtins'}: + for alias in node.names: + dynamic_aliases.add(alias.asname or alias.name) + allowed_calls = EXACT_BUILTINS | aliases | local_functions + protected = EXACT_BUILTINS | aliases | local_functions | {'__builtins__'} + for node in ast.walk(tree): + line = getattr(node, 'lineno', 0) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in dynamic_aliases: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic executor/importer name requires dependency certifier: ' + node.id, line)) + if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}: + findings.append(finding('PY_DYNAMIC_IMPORT', 'reflective loader entrypoint requires dependency certifier: ' + node.attr, line)) + if isinstance(node, ast.ImportFrom) and (node.level or any(a.name == '*' for a in node.names)): + findings.append(finding('PY_IMPORT_GAP', 'relative/star import requires explicit dependency certifier', line)) + if isinstance(node, ast.Call): + name = node.func.id if isinstance(node.func, ast.Name) else None + dynamic = (name in dynamic_aliases or + isinstance(node.func, ast.Attribute) and + (node.func.attr in {'import_module','__import__','exec_module','load_module','find_spec','spec_from_file_location'} or + isinstance(node.func.value, ast.Name) and node.func.value.id in dynamic_aliases)) + if dynamic: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic execution/loading cannot establish closed dependency boundary', line)) + if not mathematical: + continue + name = type(node).__name__ + if name not in ALLOWED_AST or isinstance(node, (ast.Lambda, ast.ClassDef, ast.AsyncFunctionDef)): + findings.append(finding('PY_AST_GAP', 'unsupported exact-program AST node: ' + name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in {'float','complex','__builtins__'}: + findings.append(finding('PY_INEXACT', 'inexact/reflective value can escape through callbacks: ' + node.id, line)) + if isinstance(node, ast.alias) and node.asname in EXACT_BUILTINS: + findings.append(finding('PY_REBIND', 'import shadows exact builtin: ' + node.asname, line)) + if isinstance(node, ast.FunctionDef): + if node.decorator_list: + findings.append(finding('PY_AST_GAP', 'decorators can replace exact functions', line)) + if node.name in EXACT_BUILTINS | aliases | {'__builtins__'}: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.id, line)) + if isinstance(node, ast.arg) and node.arg in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic parameter: ' + node.arg, line)) + if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)): + findings.append(finding('PY_INEXACT', 'float/complex literal forbidden in mathematical program', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div): + findings.append(finding('PY_INEXACT', '/ may produce float; use Fraction(n,d)', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow): + if not (isinstance(node.right, ast.Constant) and type(node.right.value) is int and node.right.value >= 0): + findings.append(finding('PY_INEXACT', '** requires nonnegative integer literal exponent', line)) + if isinstance(node, ast.Import): + findings.append(finding('PY_IMPORT_GAP', 'only from fractions import Fraction [as alias] is in the exact profile', line)) + if isinstance(node, ast.ImportFrom): + if node.module != 'fractions' or node.level or any(a.name != 'Fraction' for a in node.names): + findings.append(finding('PY_IMPORT_GAP', 'import outside exact fractions profile', line)) + if isinstance(node, ast.Call): + if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls: + findings.append(finding('PY_CALL_GAP', 'call is not a statically named exact builtin/Fraction/local function', line)) + if any(k.arg is None for k in node.keywords) or any(isinstance(a, ast.Starred) for a in node.args): + findings.append(finding('PY_CALL_GAP', 'dynamic argument expansion is outside exact profile', line)) + if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}: + findings.append(finding('PY_ATTRIBUTE_GAP', 'only exact numerator/denominator reads are supported', line)) + if isinstance(node, ast.Attribute) and not isinstance(node.ctx, ast.Load): + findings.append(finding('PY_ATTRIBUTE_GAP', 'attribute mutation is outside exact profile', line)) + if isinstance(node, ast.comprehension) and node.is_async: + findings.append(finding('PY_AST_GAP', 'async comprehension is outside exact profile', line)) + return {'findings': findings, 'imports': sorted(set(imports)), 'import_candidates': sorted(set(import_candidates))} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/tests/test_auditor.py new file mode 100644 index 000000000..2e4e6f30c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/tests/test_auditor.py @@ -0,0 +1,651 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_defined_reflective_loader_forms_fail_in_engineering_scope(self): + cases=["getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')", + "vars()['__builtins__']['__import__']('Q.bad')", + "f.__globals__['__builtins__']['__import__']('Q.bad')", + "().__class__.__base__.__subclasses__()"] + for source in cases: + with self.subTest(source=source): + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) + + def test_import_module_primes_and_identifier_suffixes_are_extracted_completely(self): + result=source_checks.check_lean("import Good Q.Bad' Q.Other! Q.Last?\n") + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) + self.assertEqual(result['findings'],[]) + + def test_unsupported_import_tail_is_a_gap_after_a_valid_prefix(self): + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good Q.«Bad»\n')) + + def test_literal_import_operands_are_explicit_gaps_after_valid_prefix(self): + for operand in ['"Q.Bad"', 'r"Q.Bad"', "'q'"]: + with self.subTest(operand=operand): + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_bound_engineering_review_cannot_waive_defined_reflective_loader(self): + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-r','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py',"getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')",'engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'A nonmath review is not an import-isolation waiver'})) + e['nonmath_review']=self.bind('review.json') + r=self.runaudit() + self.assertEqual(r['result'],'FAIL',r) + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) + + def test_known_unsupported_source_suffix_cannot_claim_a_supported_language(self): + for path,language,text in [('bad.sh','lean','echo hello\n'),('bad.js','python','x=1\n')]: + with self.subTest(path=path): + self.add(path,text,'external_pinned',language=language,module=language+':Bad'+language, + **({'vacuity':{}} if language=='lean' else {}),pin={'revision':'a'*40,'origin':'fixture'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_retained_text_source_requires_language_then_a_registered_module(self): + e=self.add('Q.txt','theorem t : False := by sorry\n','quarantined_source',expected_findings={}, + quarantine={'id':'Q-t','boundary':'Q.txt','blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + e['language']='lean';e['expected_findings']={'LEAN_PLACEHOLDER':1} + self.assertIn('MODULE_ALIAS',self.codes()) + e['module']='lean:Q';self.m['module_map']['lean:Q']='r:Q.txt' + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_mapped_external_text_module_cannot_skip_supported_source_analysis(self): + self.add('fake.txt','Fraction=float','external_pinned',module='python:fractions', + pin={'revision':'a'*40,'origin':'fixture'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_primed_lean_module_after_valid_import_cannot_hide_quarantine(self): + self.add('Good.lean','def x := 1\n','project_lean',module='lean:Good',vacuity={}) + self.add("Q/Bad'.lean",'theorem t : False := by sorry\n','quarantined_source',language='lean',module="lean:Q.Bad'", + expected_findings={'LEAN_PLACEHOLDER':1},quarantine={'id':'Q-p','boundary':"Q/Bad'.lean",'blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.add('Closed.lean',"import Good Q.Bad'\n",'project_lean',module='lean:Closed',vacuity={}) + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_status_observation_binding_distinguishes_json_booleans_and_integers(self): + self.add('input.txt','input') + observed={'schema_version':True,'gate':'G5','observed_status':'PASS','run_id':'run-typed', + 'command':['fixture'],'exit_code':False,'inputs':{'r:input.txt':sha(b'input')}} + self.add('observation.json',json.dumps(observed),'data') + status={**observed,'schema_version':1,'exit_code':0,'evidence':self.bind('observation.json')} + self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/tests/test_mutation_runner.py new file mode 100644 index 000000000..ad04c013f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-canonical698-source/tests/test_mutation_runner.py @@ -0,0 +1,44 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/LEXER_PROVENANCE.json new file mode 100644 index 000000000..0d0a1487d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/LEXER_PROVENANCE.json @@ -0,0 +1,25 @@ +{ + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "head": "b7eebb4daee0d49f8147e235df7799a15187aa75", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "9393cf7ef6d0665c232556f8df745463f83c9f5e", + "new_integration_verification": "local G0 includes boundary tests and an actual source mutation of canonical Unicode recognition", + "path": "tools/cbz/layer_a_scan.py", + "published_verification_claim": { + "behavioral_tests": 23, + "mutants": 26, + "normal_and_optimized": true, + "python": "CPython 3.13.16" + }, + "published_verification_status": "REUSABLE_PUBLISHED_EVIDENCE_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/Universal-Law-Workspace", + "sha256": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "source_receipt": "/workspace/cbz-0/contributions/public-workspace29/SOURCE_RECEIPT.json", + "unused_interfaces": [ + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interface": "lex_tokens(text)" +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/README.md b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/README.md new file mode 100644 index 000000000..5b7000bf8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/README.md @@ -0,0 +1,117 @@ +# CBZ exact-scope Layer A contribution + +This tool contributes classification/hash/import isolation, a strict exact-arithmetic Python AST profile and A6/A7 evidence bindings. It reuses the published PR29 identifier lexer. It does **not** replace federation G2/G4 or declare mathematical closure. The authoritative mechanical contract and limitations are in [SPEC.md](SPEC.md). + +## Commands + +From any directory, with Python 3.11 or newer and the complete `layer_a` directory: + +```sh +python -B -S /workspace/cbz-0/tools/layer_a/mutation_test.py --output /workspace/cbz-0/tools/layer_a/evidence/g0-final.json +python -B -S /workspace/cbz-0/tools/layer_a/auditor.py audit --manifest /absolute/final-scope.json --output /absolute/g1-report.json +``` + +Run the second command for an actual repository only after the first succeeds and the controller has prepared its final tracked-file scope. G0 runs every local selftest, then actual temporary checker-source mutants. G1 reads files only; it never runs Git, Lean, project Python, external commands or mathematical checks. Its report is deterministic for identical manifest bytes/files/tool. `audit(manifest)` is also available to isolated fixture tests; it accepts the parsed object and returns the report. + +Audit exit codes: **0** bounded `STATIC_PASS`; **1** one or more blocking findings; **2** invalid/unreadable JSON or command-line usage; **3** requested report output could not be written. `STATIC_PASS` always carries outstanding G2/G3/G4/G5/G7/G8/G10 obligations. Every finding blocks the static result; `fatal_gaps` is the subset that specifically identifies missing/unsupported certification. Retained isolated findings appear separately and never mean those files are clean. CLI input errors produce JSON except argparse usage errors. G0 exit 0 means every declared mutant was killed; any surviving/invalid/crashing mutant or baseline error is nonzero. No weakening/skip option exists. + +To run selftests alone (development, not a replacement for G0): + +```sh +python -B -S -m unittest discover -s /workspace/cbz-0/tools/layer_a/tests -v +``` + +## Manifest schema v1 + +JSON accepts integers only; duplicate keys, floats, NaN and Infinity are rejected. Top-level keys are **exactly**: + +```json +{ + "schema_version": 1, + "approved_axioms": ["propext", "Classical.choice", "Quot.sound"], + "roots": [ + { + "id": "math", + "path": "/absolute/final-tree", + "tree_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "tracked_files": ["Closed.lean"], + "files": { + "Closed.lean": { + "sha256": "<64 lowercase hexadecimal content digest>", + "kind": "project_lean", + "module": "lean:Closed", + "vacuity": { + "t@1": { + "status": "conditional", + "premises": [], + "reason": "No nonvacuity certificate claimed; elaborated statement review remains G2/G8." + } + } + } + } + } + ], + "module_map": {"lean:Closed": "math:Closed.lean"} +} +``` + +This is a schema illustration: replace the absolute root, immutable tree id, exact inventory and actual SHA256 values. Roots are nonempty, normalized absolute directories with unique ASCII ids (`[A-Za-z0-9_-]+`) and nonoverlapping paths. A tree id is 40 or 64 lowercase hexadecimal characters; G10 authenticates its connection to the supplied inventory. Every root has a nonempty unique list of normalized relative NFC paths, no `..`, backslashes or symlink component. `files` keys equal `tracked_files` exactly. No exclusions or inferred quarantine folders exist. The controller supplies the full final tracked scope; untracked state and inventory authenticity remain G10. + +Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable to its kind fail. Additional fields by kind: + +| kind | Fields and obligations | +|---|---| +| `project_lean` | `module`, `vacuity` required; `.lean` source | +| `math_python` | `module` required; `.py`/`.pyi` closed exact-program profile | +| `engineering_python` | `module`, `nonmath_review` required; `.py`/`.pyi`; floats only in explicit bound nonmathematical reviewed scope | +| `negative_fixture` | `language`, `module`, `expected_findings`, `fixture_purpose`; retains actual negative tests | +| `quarantined_source` | `language`, `module`, `expected_findings`, `quarantine`; exact terminal isolation | +| `external_pinned` | `pin` required; source requires supported `language`/`module` and Lean `vacuity`; optional binary `bindings` | +| `binary_proof` | `bindings` required, optional `pin`; bytes are not treated as text | +| `documentation`, `data` | optional `status_evidence: true` for JSON status surfaces; other known source/proof suffixes cannot be relabeled this way | + +`language` is `lean` or `python`. Historical `.lean.txt`/`.py.txt` source is recognized. Known unsupported source extensions fail with `LANGUAGE_GAP`; they require an appropriate certifier, not arbitrary data labeling. Nonbinary files must decode strict UTF-8. Actual reads and explicit permission bits are checked, including under a privileged reader. Immutable `pin` is exactly `{ "revision": "<40 or 64 lowercase hex>", "origin": "" }`. Dependencies are scanned, never automatically declared safe by pinning. Known binary object suffixes also require G2/G4 bindings when `external_pinned`. + +A source module has exactly one identity, e.g. `lean:Closed.Base` or `python:certifier`, and its one `module_map` value is `rootid:relative/path`. Maps cannot point to documents or alias a differently declared module. Explicit imports resolve through this map. Closed code may not reach negative/quarantined source through any mapped import chain. Python `from fractions import Fraction [as alias]` is the sole built-in exact-math profile import; G7 must bind/authenticate that Python runtime and fractions implementation. Mapped local `fractions` modules take precedence over the stdlib exception; a mathematical source cannot depend on an engineering-only replacement. Python mapped package prefixes and `from package import submodule as alias` candidates also enter the isolation graph. Other unknown imports, relative/star imports, reflective loaders, macro expansion and unsupported mechanisms remain reported gaps. There is no general import/dataflow completeness claim. + +## Retained source and certificates + +`expected_findings` is an exact map of checker code to positive integer occurrence count, e.g. `{"LEAN_PLACEHOLDER": 1}`. `{}` is valid for a retained semantic failure that has no lexical violation; G5 still must retain and execute its actual failing test. Missing or extra scanner findings block. No retained source is counted as clean. + +A quarantine object has exactly: + +```json +{"id":"Q-1","boundary":"root:path and exact isolated mathematical boundary","blocking_reason":"specific unproved fact","owner":"none","maintenance":"zero"} +``` + +All evidence references have exactly `{"root":"id","path":"relative/file.json","sha256":""}`. The referenced file must itself be classified, readable, hash-bound JSON inside the manifest. Binding is mechanical; authentication and truth of its review/certificate are G8/controller work. + +An engineering `nonmath_review` reference points to exactly: + +```json +{"type":"nonmathematical_review","source_sha256":"","scope":"nonmathematical_execution_only","reviewer":"identified reviewer","rationale":"explicit reviewed execution scope; no mathematical certification"} +``` + +This is an affirmative review claim, not a waiver for mathematical floats. The controller must substantiate it. + +Lean `vacuity` keys cover exactly every lexical theorem/lemma/example as `name@line` (anonymous `example@line`). An entry has `status`, nonempty `reason`, and only the following applicable fields: + +- `conditional`: explicit `premises` string list, possibly empty; no satisfiability claim. +- `vacuous`: reason naming the unsatisfiable source-shaped hypotheses; syntactic contradiction candidates require this classification. +- `nonvacuous`: `evidence` reference to `{ "type":"nonvacuity_certificate", "subject_sha256":"", "declaration":"name@line", "witness_description":"actual witness and certificate description" }`. + +Candidates are syntax observations; arithmetic interpretations, aliases and arbitrary proposition SAT are not decided. G8 must validate the semantic interpretation of annotations, and G2 must expose generated/aliased statements. Conditional status never closes a mathematical hypothesis obligation. + +Binary `bindings` is exactly `{"G2":,"G4":}`. Each reference points to a passing JSON object with `type: "kernel_evidence"`, corresponding `gate`, `subject_sha256` equal to the object's content hash, `observed_status: "PASS"`, integer `exit_code: 0`, a nonempty command list and nonempty `run_id`. G2/G4 must actually supply/authenticate that result; byte/hash presence cannot create it. + +## Status evidence schema + +A file with `status_evidence: true` contains exactly required fields `schema_version:1`, `gate:G0..G11`, `observed_status:PASS|FAIL|NOT_RUN|ERROR|INACCESSIBLE`, nonempty `run_id`, nonempty string-list `command`, `exit_code`, and nonempty `inputs` mapping `rootid:path` to actual content SHA256. The only optional field is `evidence`, a bound JSON reference. `PASS` requires integer exit 0; `FAIL` requires nonzero integer exit; other observed execution states require integer exit. The observation JSON must equal all status fields except the evidence pointer. `NOT_RUN` requires null exit and no observation evidence. This checks structure and bindings, never an aspirational Markdown label or command execution authenticity. + +## Published lexical reuse and evidence + +`canonical_lean.py` is the unchanged public `tools/cbz/layer_a_scan.py` from Universal-Law-Workspace PR29, head `b7eebb4daee0d49f8147e235df7799a15187aa75`, native Git blob `9393cf7ef6d0665c232556f8df745463f83c9f5e`. `LEXER_PROVENANCE.json` records exact source binding and inherited verification claims. We call only its `lex_tokens`; its heuristic path contexts, default exclusion behavior, filesystem/Git walking and standalone CLI are **not used**. Our manifest classifies every supplied file explicitly. Its earlier published tests are reusable evidence, not fresh federation gate evidence. Our integration tests and checker-source mutations exercise the adopted lexer at this boundary. + +G0 receipts bind the actual checker/test/spec/README source hashes and each changed checker hash/log. Invalid syntax, import/runtime errors and timeouts do not count as killed mutants. Identity-mutant and crashing-mutant tests verify the harness itself. Initial red runs and the original permission-guard survivor are retained as development evidence; the original guard-removal mutant remains in the final declared set alongside the actual skip-file mutant. The privilege-descriptor fixture kills the original by assertion. All final threshold decisions use exact integer counts, never floating point. + +Owned by the root CBZ integrator after admission. This agent only writes this directory and its discovery build report. Root owns the final registry, tracked scope, source receipt verification, G0–G11 final run and any CBZ-0 declaration. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/SNAPSHOT_BINDING.json b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/SNAPSHOT_BINDING.json new file mode 100644 index 000000000..02f086cfc --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/SNAPSHOT_BINDING.json @@ -0,0 +1,16 @@ +{ + "bound_to_receipt": "evidence/g0-final.json", + "reason": "preserve reusable previous G0 source bindings while fixing newly reported unchecked-declaration and malformed-character gaps", + "source_sha256": { + "LEXER_PROVENANCE.json": "c0bc0ad327e0dc7729935354e459907045432e146665b2114a4e9b8f7da7a66c", + "README.md": "c3eb2c13df3665e72d9aedb03321a6144b96a42c226a245cdfc27688f812926e", + "SPEC.md": "8380d4bbe2d53c822655c27b0f19740216c1bfdc1cef4598825049d40e1c3f58", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "mutation_test.py": "a2d83c63c9b20e3b52366ff984f3e6595493e1da3d39b50a4c1b3586ec3dfe6d", + "source_checks.py": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "tests/test_auditor.py": "2894e255ef5be4dfad05c42b06266c12d166be4fe99c57301a79a904888efc1f", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "type": "EXACT_PRE_HARDENING_SOURCE_SNAPSHOT" +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/SPEC.md b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/SPEC.md new file mode 100644 index 000000000..1028edbaf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/SPEC.md @@ -0,0 +1,33 @@ +# CBZ Layer A static auditor — bounded specification + +Purpose: G0 tests the auditor itself; G1 checks a root-authorized exact tracked-file manifest. This is a focused Python-stdlib command, not a Lean parser, kernel, SAT solver, Python interpreter or general framework. A successful result is `STATIC_PASS`, never CBZ-0 or proof closure. + +## Authority and scope + +The final federation controller supplies schema v1: exact roots, immutable tree identifiers, complete tracked-file lists, and one hash-bound classification per tracked file. The auditor validates every listed file, exact classification coverage, normalized paths, absence of symlink aliases, UTF-8 where applicable, readability, content SHA256, and all class-specific obligations. It never guesses exclusions or silently skips a file. The authority/completeness of the supplied Git inventory remains G10; this tool deliberately does not run Git. Its report binds manifest bytes, inventory lists and every scanned file. The manifest is supplied outside the audited root in tests; production may bind it as controller evidence outside its own hash cycle. + +Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_fixture`, `quarantined_source`, `external_pinned`, `binary_proof`, `documentation`, `data`. Source-looking extensions cannot be relabeled documentation/data. Every source, including quarantined and negative source, is scanned. Retained negative/quarantined source must name its exact expected finding multiset; extra or absent findings fail. Quarantine additionally records an exact nonempty boundary, blocking reason, id and source hash. These records are dispositions, not clean source. Binary proofs require content-bound G2 and G4 evidence references. External files require immutable revision pin metadata; no implicit dependency trust exception exists. + +## Mechanical claims + +Lean: the unchanged public PR29 identifier lexer (`canonical_lean.py`, provenance in `LEXER_PROVENANCE.json`) supplies the hazard stream; a bounded punctuation/header lexer supplies metadata and fail-closed malformed-input detection. Together they handle line comments, nested block comments, ordinary/raw string literals, character literals, escaped identifiers and Unicode identifier boundaries. It refuses malformed lexical constructs and interpolation (which can contain executable terms). Outside comments/strings it detects exact `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, axiom/constant declarations, `native_decide`, `native`, `ofReduceBool`, `ofReduceNat`, `ofReduceInt`, `trustCompiler` and `skipKernelTC`, including qualified forms. Float/Float32 and unsafe/macro/elaborator/FFI syntax are flagged for explicit G2/G4 follow-up because lexical inspection cannot certify its expansion. Imported project macros can inject axioms without these tokens: G2 must enumerate ALL elaborated owned declarations, including private/generated ones, and G4 must kernel recheck them. + +Approved foundation declaration profile: **no newly declared owned source axiom is permitted**, even when named `propext`, `Classical.choice` or `Quot.sound`. The approved imported transitive axiom set is exactly `{propext, Classical.choice, Quot.sound}`; only G2's all-declaration kernel environment audit can authenticate that set and those actual declarations. Lexical source naming cannot create an exception to it. Dependencies are immutable pinned inputs, not arbitrary new foundation declarations. + +Math Python: an explicit AST allowlist accepts closed-program exact integer/`fractions.Fraction` arithmetic, exact builtins and statically named local functions. No floating/complex literals, `/`, unrestricted powers, arbitrary imports, dynamic calls, reflective attributes, classes, decorators, async, external input, exceptions as proof, or builtin/Fraction rebinding. `**` requires a nonnegative integer literal exponent. Fraction import aliases are supported and protected. This is a conservative syntactic exact-arithmetic profile, not arbitrary interprocedural float-dataflow analysis. Functions are certified only as part of the closed program; external callers are outside the profile. Engineering Python allows floats only with a hash-bound explicit review declaring nonmathematical execution scope; it is parsed and dependency checked, never silently admitted as mathematical certification. + +Boundary checks: explicit Lean and Python imports from closed sources resolve through `module_map` to classified pinned files. Closed code cannot import quarantine or negative fixtures, including transitive import chains. Unresolved/dynamic/unsupported import mechanisms are fatal gaps (or exact retained findings in isolated source); no claim of arbitrary runtime dependency completeness is made. The module map must agree with per-file declared module identities and cannot alias names. G2/G4 must account for generated modules, macros, FFI and runtime-dependent loading; unknown cases are never green. + +A6: every lexical theorem/lemma/example has an entry keyed `name@line` (`example@line` for anonymous examples). Entries are `conditional` with explicit premises/reason, `nonvacuous` with a bound evidence reference, or `vacuous` with a reason. Syntactic candidates (`False` hypothesis, `False →`, opposing `P`/`¬P`, self-strict inequality/disequality, incompatible literal equality) require `vacuous` classification. These are source-shape candidates, not a decision procedure for Lean proposition satisfiability; aliases, typeclass interpretations and arbitrary semantic inconsistency require separate certificates/G2 elaborated statement review. The report lists all detected candidates and all conditional claims. + +A7: status JSON is checked only when explicitly bound with `status_evidence`: exact allowed observed state, gate id, command, run id, input hashes, evidence reference and exit code must agree. An observation file is evidence structure/content binding, not authentication that the command actually ran. G8/controller execution receipts supply that provenance. Markdown truth and no-weakened-bound historical intent are outside lexical decidability; they require G8 and source-history review respectively. + +## Nonclaims and hard limits + +No source scanner proves arbitrary mathematics, satisfiability, bound strength, historical test retention, semantic status truth, pin compatibility, kernel trust, command execution or external review authenticity. G2/G3/G4/G5/G7/G8/G10 and relevant manual certificates remain explicit obligations. `STATIC_PASS` covers only the stated mechanical rules under the supplied final tracked inventory. Any missing/unsupported case is a finding/fatal gap, never a skipped green case. Test/mutation scores are finite declared coverage, not a proof of all possible checker behavior. + +## Delivery and authorization + +Owner's explicit autonomous directive supersedes skill approval/branch/commit/reviewer ceremony. Work is confined to `tools/layer_a/` and `discovery/auditor-build-report.{md,json}`; root owns Git, registry, final manifests and final G0–G11. Existing `formal/gate.py` hash/path/axiom target checks were inspected: their target-scoped audit and source-manifest checks are useful G2/G3/G4 components but do not implement this lexer/AST/full-classification contract. Their invariant patterns (safe paths, exact hashes, strict JSON, exact approved set) are retained; their package-specific execution and destructive build routines are not copied or run. + +Published component reuse: exact native blob `9393cf7ef6d0665c232556f8df745463f83c9f5e` at public Workspace PR29 head `b7eebb4daee0d49f8147e235df7799a15187aa75` is imported unchanged. Its published 23-test/26-mutant verification remains reusable inherited evidence; our G0 verifies the new integration and supplementary rules. No heuristic directory exclusions or Git execution from its standalone entrypoint are used. Lean excludes lambda from identifier continuation; the earlier harmless-Unicode fixture was corrected to alpha, and a lambda-boundary violation was added. The original permission-guard-removal mutant remains in the final declared set and is killed under a real already-open descriptor that survives chmod(000); the additional silent-skip mutant is distinct. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/auditor.py b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/auditor.py new file mode 100644 index 000000000..27a1afb6e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/auditor.py @@ -0,0 +1,364 @@ +#!/usr/bin/env python3 +"""G1 bounded static auditor. `STATIC_PASS` is not proof closure. See SPEC.md.""" +import argparse +from collections import Counter +import hashlib +import json +import os +from pathlib import Path, PurePosixPath +import re +import stat +import sys +import unicodedata + +from source_checks import check_lean, check_python + +APPROVED_AXIOMS = frozenset({'propext', 'Classical.choice', 'Quot.sound'}) +KINDS = frozenset({'project_lean','math_python','engineering_python','negative_fixture','quarantined_source', + 'external_pinned','binary_proof','documentation','data'}) +RETAINED = frozenset({'negative_fixture','quarantined_source'}) +SOURCE_EXTENSIONS = frozenset({'.lean','.py','.pyi','.sh','.bash','.js','.ts','.c','.cc','.cpp','.h','.rs'}) +BINARY_EXTENSIONS = frozenset({'.olean','.ilean','.o','.so','.a','.dll','.dylib','.wasm'}) +HEX = re.compile(r'[0-9a-f]{64}') +ENTRY_KEYS = frozenset({'kind','sha256','module','language','vacuity','expected_findings','quarantine', + 'fixture_purpose','pin','nonmath_review','bindings','status_evidence'}) + + +CLASS_KEYS = { + 'project_lean': {'module','vacuity'}, + 'math_python': {'module'}, + 'engineering_python': {'module','nonmath_review'}, + 'negative_fixture': {'language','module','expected_findings','fixture_purpose'}, + 'quarantined_source': {'language','module','expected_findings','quarantine'}, + 'external_pinned': {'language','module','vacuity','pin','bindings'}, + 'binary_proof': {'bindings','pin'}, + 'documentation': {'status_evidence'}, + 'data': {'status_evidence'}, +} + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def strict_json(text): + def unique(pairs): + result = {} + for k, v in pairs: + if k in result: + raise ValueError('duplicate JSON key: ' + k) + result[k] = v + return result + def refuse(token): + raise ValueError('noninteger/nonfinite JSON number refused: ' + token) + return json.loads(text, object_pairs_hook=unique, parse_float=refuse, parse_constant=refuse) + + +def normalized_path(value): + if not isinstance(value, str) or not value or '\\' in value or '\x00' in value: + return False + p = PurePosixPath(value) + return (not p.is_absolute() and '..' not in p.parts and '.' not in p.parts and str(p) == value and + unicodedata.normalize('NFC', value) == value and not any(ord(c) < 32 for c in value)) + + +def audit(manifest): + findings, retained_findings, observations = [], [], [] + records, roots, graph, source_results = {}, {}, {}, {} + classified_count, scanned_count = 0, 0 + + def add(code, detail, root='', path='', line=0): + findings.append({'code':code, 'root':root, 'path':path, 'line':line, 'detail':detail}) + + def nonempty(value): + return isinstance(value, str) and bool(value.strip()) + + def binding(value, owner, label): + if not isinstance(value, dict) or set(value) != {'root','path','sha256'}: + add('EVIDENCE_BINDING', 'malformed '+label, *owner); return None + ref = value.get('root','') + ':' + value.get('path','') if isinstance(value.get('root'),str) and isinstance(value.get('path'),str) else '' + target = records.get(ref) + if target is None or target.get('data') is None or value.get('sha256') != target['entry'].get('sha256') or digest(target['data']) != value.get('sha256'): + add('EVIDENCE_BINDING', 'missing/stale/unreadable '+label, *owner); return None + try: + return strict_json(target['data'].decode('utf-8')) + except (UnicodeError, ValueError, TypeError, RecursionError) as exc: + add('EVIDENCE_BINDING', 'non-JSON '+label+': '+str(exc), *owner); return None + + if not isinstance(manifest, dict) or set(manifest) != {'schema_version','approved_axioms','roots','module_map'} or type(manifest.get('schema_version')) is not int or manifest.get('schema_version') != 1: + add('MANIFEST','schema v1 exact top-level keys required') + manifest = manifest if isinstance(manifest,dict) else {} + approved = manifest.get('approved_axioms') + if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS: + add('FOUNDATION_PROFILE','approved imported axiom set must be exactly propext, Classical.choice, Quot.sound') + raw_roots=manifest.get('roots') + if not isinstance(raw_roots,list) or not raw_roots: + add('MANIFEST','nonempty roots required');raw_roots=[] + root_realpaths=[] + for r in raw_roots: + if not isinstance(r,dict) or set(r)!={'id','path','tree_id','tracked_files','files'}: + add('MANIFEST','root exact keys required');continue + rid=r.get('id') + if not isinstance(rid,str) or not re.fullmatch(r'[A-Za-z0-9_-]+',rid) or rid in roots: + add('MANIFEST','invalid or duplicate root id');continue + if not isinstance(r.get('tree_id'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',r['tree_id']) is None: + add('MANIFEST','immutable tree identifier required',rid) + rp=r.get('path') + if not isinstance(rp,str) or not Path(rp).is_absolute() or str(Path(rp))!=rp or unicodedata.normalize('NFC',rp)!=rp: + add('PATH','root must be normalized absolute path',rid);continue + root=Path(rp) + if not root.is_dir(): + add('FILE_MISSING','root directory missing',rid);continue + if any(p.is_symlink() for p in [root,*root.parents]): + add('PATH_SYMLINK','root or ancestor is a symlink',rid);continue + real=root.resolve() + if any(real==other or real.is_relative_to(other) or other.is_relative_to(real) for other in root_realpaths): + add('PATH','overlapping/aliased roots are forbidden',rid);continue + root_realpaths.append(real);roots[rid]=r + tracked, files=r.get('tracked_files'),r.get('files') + if not isinstance(tracked,list) or not tracked or any(not isinstance(p,str) for p in tracked) or len(set(tracked))!=len(tracked) or not isinstance(files,dict): + add('MANIFEST','nonempty unique tracked paths and file object required',rid);continue + if set(tracked)!=set(files): + add('SCOPE_CLASSIFICATION','tracked/classified path sets differ: missing='+repr(sorted(set(tracked)-set(files)))+' extra='+repr(sorted(set(files)-set(tracked))),rid) + for path in sorted(set(tracked)|set(files)): + if not normalized_path(path): + add('PATH','unsafe, nonnormalized or non-NFC file path',rid,str(path));continue + if path not in files: + continue + entry=files[path];classified_count+=1 + if not isinstance(entry,dict) or set(entry)-ENTRY_KEYS or not {'kind','sha256'}<=set(entry): + add('CLASSIFICATION','malformed classification or unknown fields',rid,path);continue + if not isinstance(entry.get('kind'),str) or entry.get('kind') not in KINDS: + add('CLASSIFICATION','unknown classification: '+str(entry.get('kind')),rid,path);continue + if set(entry)-{'kind','sha256'}-CLASS_KEYS.get(entry['kind'],set()): + add('CLASSIFICATION','fields not applicable to declared classification',rid,path) + if 'language' in entry and (not isinstance(entry['language'],str) or entry['language'] not in {'lean','python'}): + add('LANGUAGE_GAP','unsupported/nonstring language classification',rid,path);continue + if 'module' in entry and not isinstance(entry['module'],str): + add('MODULE_ALIAS','module identity must be a string',rid,path);continue + if not isinstance(entry.get('sha256'),str) or HEX.fullmatch(entry['sha256']) is None: + add('FILE_HASH','missing or malformed SHA256',rid,path) + target=root/path + record={'root':rid,'path':path,'entry':entry,'data':None};records[rid+':'+path]=record + if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)): + add('PATH_SYMLINK','symlink file/ancestor aliases are forbidden',rid,path);continue + try: + info=target.stat() + if not stat.S_ISREG(info.st_mode): + add('FILE_MISSING','not a regular file',rid,path);continue + if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH): + add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue + data=target.read_bytes() + except FileNotFoundError: + add('FILE_MISSING','declared file is absent',rid,path);continue + except OSError as exc: + add('FILE_UNREADABLE',str(exc),rid,path);continue + record['data']=data;scanned_count+=1 + if digest(data)!=entry.get('sha256'): + add('FILE_HASH','content differs from manifest pin',rid,path) + module_map=manifest.get('module_map') + if not isinstance(module_map,dict): + add('MANIFEST','module_map must be an object');module_map={} + for name, ref in module_map.items(): + if not isinstance(name,str) or not re.fullmatch(r'(lean|python):[^\s:]+',name) or not isinstance(ref,str) or ref not in records: + add('MODULE_ALIAS','module map points outside classified scope: '+str(name));continue + if records[ref]['entry'].get('kind') in {'documentation','data','binary_proof'}: + add('MODULE_ALIAS','module identity must point to actual classified source: '+name) + if records[ref]['entry'].get('module')!=name: + add('MODULE_ALIAS','module map alias does not equal target declared identity: '+name) + for ref, record in records.items(): + rid,path,entry=record['root'],record['path'],record['entry'] + owner=(rid,path);kind=entry['kind'];data=record['data'];suffix=Path(path).suffix.lower() + language=entry.get('language') + if kind=='project_lean': language='lean' + if kind in {'math_python','engineering_python'}: language='python' + source_like=suffix in SOURCE_EXTENSIONS or path.lower().endswith(('.lean.txt','.py.txt','.sh.txt','.js.txt')) + if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS): + add('SOURCE_CLASSIFICATION','source/proof object cannot be relabeled documentation/data',rid,path) + if kind=='binary_proof' and source_like: + add('SOURCE_CLASSIFICATION','source cannot be relabeled binary proof',rid,path) + if kind in {'project_lean','math_python','engineering_python'} and suffix not in ({'.lean'} if language=='lean' else {'.py','.pyi'}): + add('SOURCE_CLASSIFICATION','source kind does not match extension',rid,path) + if kind in RETAINED|{'external_pinned'} and source_like and language not in {'lean','python'}: + add('LANGUAGE_GAP','source needs supported explicit lean/python classification',rid,path) + expected_language='lean' if path.lower().endswith(('.lean','.lean.txt')) else 'python' if path.lower().endswith(('.py','.pyi','.py.txt')) else None + if expected_language is not None and language is not None and language!=expected_language: + add('SOURCE_CLASSIFICATION','declared language disagrees with source extension',rid,path) + if language is not None and language not in {'lean','python'}: + add('LANGUAGE_GAP','unsupported language classification',rid,path) + if kind in RETAINED and (not isinstance(entry.get('expected_findings'),dict) or any(not isinstance(k,str) or type(v) is not int or v<1 for k,v in entry.get('expected_findings',{}).items())): + add('RETAINED_FINDING_MISMATCH','exact positive finding-count map required',rid,path) + if kind=='negative_fixture' and not nonempty(entry.get('fixture_purpose')): + add('NEGATIVE_FIXTURE','retained test purpose required',rid,path) + if kind=='quarantined_source': + q=entry.get('quarantine') + if not isinstance(q,dict) or set(q)!={'id','boundary','blocking_reason','owner','maintenance'} or any(not nonempty(q.get(k)) for k in ['id','boundary','blocking_reason']) or q.get('owner')!='none' or q.get('maintenance')!='zero': + add('QUARANTINE','exact id/boundary/blocking reason and terminal owner:none maintenance:zero required',rid,path) + if kind=='external_pinned' or 'pin' in entry: + pin=entry.get('pin') + if not isinstance(pin,dict) or set(pin)!={'revision','origin'} or not nonempty(pin.get('origin')) or not isinstance(pin.get('revision'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',pin['revision']) is None: + add('EXTERNAL_PIN','immutable 40/64 hex revision and nonempty origin required',rid,path) + if kind=='engineering_python': + review=binding(entry.get('nonmath_review'),owner,'nonmathematical review') + if not isinstance(review,dict) or set(review)!={'type','source_sha256','scope','reviewer','rationale'} or review.get('type')!='nonmathematical_review' or review.get('scope')!='nonmathematical_execution_only' or review.get('source_sha256')!=entry['sha256'] or not nonempty(review.get('reviewer')) or not nonempty(review.get('rationale')): + add('NONMATH_REVIEW','explicit hash-bound reviewed nonmathematical scope required',rid,path) + if kind=='binary_proof' or suffix in BINARY_EXTENSIONS: + bs=entry.get('bindings') + if not isinstance(bs,dict) or set(bs)!={'G2','G4'}: + add('BINARY_BINDING','binary proof requires exact G2/G4 bindings',rid,path) + else: + for gate,value in bs.items(): + proof=binding(value,owner,gate+' binary proof evidence') + if not isinstance(proof,dict) or proof.get('type')!='kernel_evidence' or proof.get('gate')!=gate or proof.get('subject_sha256')!=entry['sha256'] or proof.get('observed_status')!='PASS' or type(proof.get('exit_code')) is not int or proof.get('exit_code')!=0 or not isinstance(proof.get('command'),list) or not proof['command'] or not nonempty(proof.get('run_id')): + add('BINARY_BINDING','missing/stale/nonpassing '+gate+' subject evidence',rid,path) + if data is None: + continue + text=None + if kind!='binary_proof' and suffix not in BINARY_EXTENSIONS: + try: + text=data.decode('utf-8') + except UnicodeError: + add('FILE_ENCODING','nonbinary classified file is not strict UTF-8',rid,path);continue + if language in {'lean','python'}: + if text is None: + add('SOURCE_CLASSIFICATION','binary object cannot be declared Lean/Python source',rid,path);continue + module=entry.get('module') + if not isinstance(module,str) or not module.startswith(language+':') or module_map.get(module)!=ref: + add('MODULE_ALIAS','source module must have one exact registered identity',rid,path) + result=check_lean(text) if language=='lean' else check_python(text, kind!='engineering_python') + source_results[ref]=result + raw_findings=list(result['findings']) + if kind in RETAINED: + actual=dict(Counter(f['code'] for f in raw_findings)) + if actual!=entry.get('expected_findings'): + add('RETAINED_FINDING_MISMATCH','expected '+repr(entry.get('expected_findings'))+' actual '+repr(actual),rid,path) + for f in raw_findings: + retained_findings.append({'root':rid,'path':path,**f}) + else: + for f in raw_findings: + add(f['code'],f['detail'],rid,path,f['line']) + graph[ref]=[] + for imported in result['imports']: + if language=='python' and imported=='fractions' and kind=='math_python' and 'python:fractions' not in module_map: + continue # Explicit exact-arithmetic trust profile; G7 binds runtime/stdlib. + target=module_map.get(language+':'+imported) + if target not in records: + add('IMPORT_UNRESOLVED','unknown/unsupported dependency '+language+':'+imported,rid,path) + else: + graph[ref].append(target) + if kind=='math_python' and records[target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only source '+target,rid,path) + if language=='python': + parts=imported.split('.') + for i in range(1,len(parts)): + prefix=module_map.get('python:'+'.'.join(parts[:i])) + if prefix in records: + graph[ref].append(prefix) + for candidate in result.get('import_candidates',[]): + target=module_map.get('python:'+candidate) + if target in records: + graph[ref].append(target) + if language=='lean' and kind not in RETAINED: + annotations=entry.get('vacuity') + declarations=result['declarations'] + keys=[d['key'] for d in declarations] + if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys): + add('VACUITY_COVERAGE','annotation keys must exactly cover theorem/lemma/example source locations',rid,path) + annotations=annotations if isinstance(annotations,dict) else {} + for declaration in declarations: + key=declaration['key'];a=annotations.get(key) + if not isinstance(a,dict) or not isinstance(a.get('status'),str) or a.get('status') not in {'conditional','nonvacuous','vacuous'} or not nonempty(a.get('reason')): + add('VACUITY_ANNOTATION','required status/reason for '+key,rid,path,declaration['line']);continue + if set(a)-{'status','reason','premises','evidence'}: + add('VACUITY_ANNOTATION','unknown annotation keys for '+key,rid,path,declaration['line']) + if a['status']=='conditional' and (not isinstance(a.get('premises'),list) or any(not nonempty(p) for p in a['premises'])): + add('VACUITY_ANNOTATION','explicit premises list required for '+key,rid,path,declaration['line']) + if declaration['contradictions'] and a['status']!='vacuous': + add('VACUITY_CONTRADICTION','syntactic contradiction candidates require vacuous: '+key+': '+repr(declaration['contradictions']),rid,path,declaration['line']) + if a['status']=='nonvacuous': + certificate=binding(a.get('evidence'),owner,'nonvacuity certificate '+key) + if not isinstance(certificate,dict) or certificate.get('type')!='nonvacuity_certificate' or certificate.get('subject_sha256')!=entry['sha256'] or certificate.get('declaration')!=key or not nonempty(certificate.get('witness_description')): + add('VACUITY_EVIDENCE','content-bound nonvacuity witness certificate required for '+key,rid,path,declaration['line']) + observations.append({'root':rid,'path':path,'declaration':key,'status':a['status'],'contradiction_candidates':declaration['contradictions']}) + if entry.get('status_evidence') is not None: + if entry['status_evidence'] is not True: + add('STATUS_EVIDENCE','status_evidence must be true, never disable/skip',rid,path) + try: + s=strict_json(text) + except (ValueError,TypeError,RecursionError) as exc: + add('STATUS_EVIDENCE','invalid status JSON: '+str(exc),rid,path);continue + required={'schema_version','gate','observed_status','run_id','command','exit_code','inputs'} + if not isinstance(s,dict) or not required<=set(s) or set(s)-required-{'evidence'} or type(s.get('schema_version')) is not int or s.get('schema_version')!=1 or not isinstance(s.get('gate'),str) or s.get('gate') not in {'G'+str(i) for i in range(12)} or not isinstance(s.get('observed_status'),str) or s.get('observed_status') not in {'PASS','FAIL','NOT_RUN','ERROR','INACCESSIBLE'} or not nonempty(s.get('run_id')) or not isinstance(s.get('command'),list) or not s['command'] or any(not nonempty(c) for c in s['command']) or not isinstance(s.get('inputs'),dict) or not s['inputs']: + add('STATUS_EVIDENCE','invalid exact observed status schema',rid,path);continue + for input_ref,value in s['inputs'].items(): + target=records.get(input_ref) + if target is None or value!=target['entry'].get('sha256') or target['data'] is None or digest(target['data'])!=value: + add('STATUS_EVIDENCE','status input missing/stale: '+input_ref,rid,path) + if s['observed_status']=='NOT_RUN': + if s['exit_code'] is not None or 'evidence' in s: + add('STATUS_EVIDENCE','NOT_RUN cannot carry execution exit/evidence',rid,path) + else: + evidence=binding(s.get('evidence'),owner,'observed status receipt') + comparable={k:v for k,v in s.items() if k!='evidence'} + if evidence!=comparable or type(s['exit_code']) is not int or (s['observed_status']=='PASS' and s['exit_code']!=0) or (s['observed_status']=='FAIL' and s['exit_code']==0): + add('STATUS_EVIDENCE','status differs from bound observed execution receipt',rid,path) + for start in sorted(graph): + if records[start]['entry']['kind'] in RETAINED: + continue + seen,pending=set(),list(graph[start]) + while pending: + target=pending.pop() + if target in seen: + continue + seen.add(target) + if records[target]['entry']['kind'] in RETAINED: + add('QUARANTINE_IMPORT','closed source depends on isolated source '+target,records[start]['root'],records[start]['path']) + pending.extend(graph.get(target,[])) + findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + retained_findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + manifest_bytes=json.dumps(manifest,sort_keys=True,separators=(',',':'),ensure_ascii=False).encode() + inventories={rid:digest(json.dumps(sorted(r['tracked_files']),ensure_ascii=False,separators=(',',':')).encode()) for rid,r in roots.items() if isinstance(r.get('tracked_files'),list) and all(isinstance(p,str) for p in r['tracked_files'])} + obligations=[{'gate':g,'required_work':work} for g,work in [ + ('G2','All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'), + ('G3','Actual Lean build and no sorry warnings; source scanning does not execute Lean.'), + ('G4','Kernel recheck every closed declaration and all bound binary proof objects.'), + ('G5','Execute retained regression tests; source profile does not establish runtime success or historical test retention.'), + ('G7','Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'), + ('G8','Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'), + ('G10','Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.')]] + return {'schema_version':1,'result':'STATIC_PASS' if not findings else 'FAIL','claim':'bounded static rules only; not CBZ-0 or mathematical proof closure', + 'manifest_sha256':digest(manifest_bytes),'inventory_sha256':inventories,'classified_count':classified_count, + 'scanned_count':scanned_count,'retained_count':len(retained_findings),'findings':findings, + 'fatal_gaps':[f for f in findings if f['code'].endswith('_GAP') or f['code'] in {'MANIFEST','SCOPE_CLASSIFICATION','CLASSIFICATION','FILE_MISSING','FILE_UNREADABLE','IMPORT_UNRESOLVED','EVIDENCE_BINDING'}], + 'retained_findings':retained_findings,'vacuity_observations':observations,'remaining_obligations':obligations, + 'files':[{'root':r['root'],'path':r['path'],'kind':r['entry']['kind'],'expected_sha256':r['entry']['sha256'],'actual_sha256':digest(r['data']) if r['data'] is not None else None} for _,r in sorted(records.items())]} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + sub=parser.add_subparsers(dest='command',required=True) + p=sub.add_parser('audit',help='audit exact controller-supplied tracked scope') + p.add_argument('--manifest',required=True,type=Path) + p.add_argument('--output',type=Path,help='also write deterministic report JSON') + args=parser.parse_args(argv) + try: + raw=args.manifest.read_bytes() + manifest=strict_json(raw.decode('utf-8')) + report=audit(manifest) + report['manifest_file_sha256']=digest(raw) + code=0 if report['result']=='STATIC_PASS' else 1 + except (OSError,ValueError,UnicodeError,RecursionError) as exc: + report={'schema_version':1,'result':'INPUT_ERROR','findings':[{'code':'INPUT','detail':str(exc)}]};code=2 + encoded=json.dumps(report,sort_keys=True,indent=2,ensure_ascii=False)+'\n' + if args.output: + try: + args.output.write_text(encoded,encoding='utf-8') + except OSError as exc: + report={'schema_version':1,'result':'OUTPUT_ERROR','findings':[{'code':'OUTPUT','detail':str(exc)}]} + encoded=json.dumps(report,sort_keys=True,indent=2)+'\n';code=3 + sys.stdout.write(encoded) + return code + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/canonical_lean.py b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/canonical_lean.py new file mode 100644 index 000000000..9393cf7ef --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/canonical_lean.py @@ -0,0 +1,422 @@ +#!/usr/bin/env python3 +"""Layer A textual scanner for Lean 4 sources (CBZ-0 gate G1). + +What it certifies, exactly: + For every scanned ``.lean`` file it reports each *code* token (outside + comments, string literals and char literals) that names a Layer A hazard: + + violation tokens (gate-failing in production context) + A1 placeholders : sorry, admit, sorryAx, admitGoal, mkSorry + A2 trust holes : axiom (declaration keyword), native_decide, + ofReduceBool, ofReduceNat, trustCompiler, + skipKernelTC (kernel-check bypass option) + review tokens (reported, never gate-failing on their own) + A3 float : Float, Float32 + A2 compiled code: unsafe, implemented_by, extern + A1 tactic stop : ``stop`` as the first token on its line + + ``sorry``/``admit``/``axiom``/``native_decide``/``Float``/``Float32``/ + ``unsafe``/``stop`` match only as a whole undotted identifier; the other + violation tokens also match as the last component of a dotted name + (``Lean.ofReduceBool``, ``debug.skipKernelTC``). + +What it does NOT certify: + * That a file compiles, or that no placeholder arises through + metaprogramming that never spells a listed token. Gates G2-G4 + (``#print axioms`` / kernel re-check) close that gap; this scanner is a + necessary, not sufficient, condition. + * Anything about non-Lean files (Python bounds are a separate gate). + +Lexing follows Lean 4: ``--`` line comments; nested ``/- -/`` block comments +(including ``/--`` and ``/-!``); ``"..."`` strings with backslash escapes; +interpolated strings (``s!"..{code}.."``, ``m!``, ``f!``) whose ``{}`` +regions are lexed as code; raw strings ``r"..."`` / ``r#"..."#``; char +literals; and ``«...»`` escaped identifiers (never flagged). + +Standard library only. No floating point is used in any decision. + +Usage: + layer_a_scan.py PATH... scan files/directories + layer_a_scan.py --git REPO --rev REV scan every .lean blob in a git tree +Options: + --json FILE write all findings as JSON + --fail-on CTX comma list of contexts whose violations fail the run + (default: production). Use "all" for every context. +Exit status: 0 = no failing violation, 1 = failing violation, 2 = usage/IO. +""" +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys +import unicodedata + +VIOLATION_EXACT = { + "sorry": "A1", + "admit": "A1", + "axiom": "A2", + "native_decide": "A2", +} +VIOLATION_COMPONENT = { + "sorryAx": "A1", + "admitGoal": "A1", + "mkSorry": "A1", + "ofReduceBool": "A2", + "ofReduceNat": "A2", + "trustCompiler": "A2", + "skipKernelTC": "A2", +} +REVIEW_EXACT = { + "Float": "A3", + "Float32": "A3", + "unsafe": "A2", +} +REVIEW_COMPONENT = { + "implemented_by": "A2", + "extern": "A2", +} +LINE_START_REVIEW = {"stop": "A1"} + +INTERP_PREFIXES = {"s!", "m!", "f!"} +_EXCLUDED_LETTERS = {"λ", "Π", "Σ"} +_CHAR_LIT = re.compile(r"'(?:\\(?:u\{[0-9a-fA-F]+\}|x[0-9a-fA-F]{2}|.)|[^\\'\n])'") + + +def _is_letter(ch: str) -> bool: + if ch in _EXCLUDED_LETTERS: + return False + if ch.isascii(): + return ch.isalpha() + cat = unicodedata.category(ch) + if cat.startswith("L"): + return True + o = ord(ch) + # Letter-like symbols and Greek/Coptic, as Lean's isLetterLike. + return (0x3B1 <= o <= 0x3C9 and o != 0x3BB) or (0x391 <= o <= 0x3A9 and o not in (0x3A0, 0x3A3)) \ + or 0x3CA <= o <= 0x3FB or 0x1F00 <= o <= 0x1FFE or 0x2100 <= o <= 0x214F \ + or 0x1D49C <= o <= 0x1D59F + + +def _is_subscript(ch: str) -> bool: + o = ord(ch) + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A + + +def _id_start(ch: str) -> bool: + return ch == "_" or _is_letter(ch) + + +def _id_rest(ch: str) -> bool: + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or ch.isdigit() \ + or _is_letter(ch) or _is_subscript(ch) + + +def lex_tokens(text: str): + """Yield (name, line, col, line_start) for every code identifier. + + ``name`` is the full dotted identifier text; an escaped ``«...»`` + component is replaced by ``\x00`` so it never matches a keyword. + + Modes are kept on an explicit stack: a ``code`` frame (with a brace + depth when it is an interpolation region) or an ``istr`` frame (the body + of an interpolated string, where ``{`` opens a nested code region). + """ + i = 0 + n = len(text) + line = 1 + col = 1 + line_has_token = False + stack: list[list] = [["code", None]] + + def advance(k: int): + nonlocal i, line, col, line_has_token + for _ in range(k): + if i >= n: + return + if text[i] == "\n": + line += 1 + col = 1 + line_has_token = False + else: + col += 1 + i += 1 + + def read_ident_tail(parts: list[str]): + # dotted continuation: .ident or .«escaped» + while i < n and text[i] == "." and i + 1 < n and (_id_start(text[i + 1]) or text[i + 1] == "«"): + advance(1) + if text[i] == "«": + j = text.find("»", i + 1) + if j < 0: + advance(n - i) + return + advance(j + 1 - i) + parts.append("\x00") + else: + s2 = i + while i < n and _id_rest(text[i]): + advance(1) + parts.append(text[s2:i]) + + while i < n: + frame = stack[-1] + c = text[i] + if frame[0] == "istr": + if c == "\\": + advance(2) + elif c == '"': + advance(1) + stack.pop() + elif c == "{": + advance(1) + stack.append(["code", 0]) + else: + advance(1) + continue + # ---- code mode + if c == "-" and text.startswith("--", i): + while i < n and text[i] != "\n": + advance(1) + continue + if c == "/" and text.startswith("/-", i): + depth = 0 + while i < n: + if text.startswith("/-", i): + depth += 1 + advance(2) + elif text.startswith("-/", i): + depth -= 1 + advance(2) + if depth == 0: + break + else: + advance(1) + continue + if frame[1] is not None and c == "{": + frame[1] += 1 + advance(1) + continue + if frame[1] is not None and c == "}": + advance(1) + if frame[1] == 0: + stack.pop() # back to the interpolated string body + else: + frame[1] -= 1 + continue + if c == '"': + advance(1) + while i < n: + cc = text[i] + if cc == "\\": + advance(2) + continue + advance(1) + if cc == '"': + break + line_has_token = True + continue + if c == "'": + m = _CHAR_LIT.match(text, i) + advance(m.end() - i if m else 1) + line_has_token = True + continue + if c == "«": + start_line, start_col, start_first = line, col, not line_has_token + j = text.find("»", i + 1) + if j < 0: + advance(n - i) + break + advance(j + 1 - i) + parts = ["\x00"] + read_ident_tail(parts) + line_has_token = True + yield ".".join(parts), start_line, start_col, start_first + continue + if _id_start(c): + start_line, start_col, start_first = line, col, not line_has_token + s = i + while i < n and _id_rest(text[i]): + advance(1) + word = text[s:i] + if word == "r" and i < n and text[i] in '"#': + k = i + while k < n and text[k] == "#": + k += 1 + if k < n and text[k] == '"': + close = '"' + "#" * (k - i) + end = text.find(close, k + 1) + end = n if end < 0 else end + len(close) + advance(end - i) + line_has_token = True + continue + if word in INTERP_PREFIXES and i < n and text[i] == '"': + advance(1) + stack.append(["istr"]) + line_has_token = True + continue + parts = [word] + read_ident_tail(parts) + line_has_token = True + yield ".".join(parts), start_line, start_col, start_first + continue + if c.isdigit(): + while i < n and (text[i].isalnum() or text[i] in "._"): + advance(1) + line_has_token = True + continue + if not c.isspace(): + line_has_token = True + advance(1) + + +def classify_token(name: str, line_start: bool): + """Return (kind, layer, severity) or None.""" + if "\x00" in name.split(".")[-1]: + return None + if "." not in name: + if name in VIOLATION_EXACT: + return name, VIOLATION_EXACT[name], "violation" + if name in REVIEW_EXACT: + return name, REVIEW_EXACT[name], "review" + if line_start and name in LINE_START_REVIEW: + return name, LINE_START_REVIEW[name], "review" + last = name.split(".")[-1] + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + + +_EVIDENCE_SEG = re.compile(r"(^|/)(raw|runs|archive|attempts)(/|$)|-evidence(/|$)") +_CONTROL_NAME = re.compile(r"(?i)(control|negative|mutation|mutant|counterproof|falsifier)") + + +def context_of(path: str) -> str: + p = path.replace("\\", "/") + if _EVIDENCE_SEG.search(p): + return "evidence_copy" + if _CONTROL_NAME.search(os.path.basename(p)): + return "control" + return "production" + + +def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: + out = [] + ctx = context_of(path) + for name, ln, cl, first in lex_tokens(text): + r = classify_token(name, first) + if r is None: + continue + kind, layer, sev = r + f = {"path": path, "line": ln, "col": cl, "token": name, "kind": kind, + "layer": layer, "severity": sev, "context": ctx} + if blob: + f["blob"] = blob + out.append(f) + return out + + +def iter_fs(paths): + for p in paths: + if os.path.isdir(p): + for root, dirs, files in os.walk(p): + dirs[:] = sorted(d for d in dirs if d != ".git") + for fn in sorted(files): + if fn.endswith(".lean"): + full = os.path.join(root, fn) + yield os.path.relpath(full, p), full + elif p.endswith(".lean"): + yield p, p + + +def git_lean_blobs(repo: str, rev: str): + env = {k: v for k, v in os.environ.items() if not k.startswith("GIT_")} + ls = subprocess.run(["git", "-C", repo, "ls-tree", "-r", "-z", rev], + check=True, capture_output=True, env=env).stdout + entries = [] + for rec in ls.split(b"\0"): + if not rec: + continue + meta, path = rec.split(b"\t", 1) + mode, typ, sha = meta.split() + p = path.decode("utf-8", "surrogateescape") + if typ == b"blob" and p.endswith(".lean"): + entries.append((p, sha.decode())) + if not entries: + return + proc = subprocess.Popen(["git", "-C", repo, "cat-file", "--batch"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, env=env) + try: + for p, sha in entries: + proc.stdin.write(sha.encode() + b"\n") + proc.stdin.flush() + header = proc.stdout.readline().split() + size = int(header[2]) + data = proc.stdout.read(size) + proc.stdout.read(1) + yield p, sha, data + finally: + proc.stdin.close() + proc.wait() + + +def main(argv=None) -> int: + ap = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + ap.add_argument("paths", nargs="*") + ap.add_argument("--git", metavar="REPO") + ap.add_argument("--rev", default="HEAD") + ap.add_argument("--json", metavar="FILE") + ap.add_argument("--fail-on", default="production") + args = ap.parse_args(argv) + if not args.paths and not args.git: + ap.print_usage(sys.stderr) + return 2 + findings: list[dict] = [] + files = 0 + undecodable = [] + try: + if args.git: + for p, sha, data in git_lean_blobs(args.git, args.rev): + files += 1 + try: + text = data.decode("utf-8") + except UnicodeDecodeError: + undecodable.append(p) + continue + findings += scan_text(text, p, sha) + for rel, full in iter_fs(args.paths): + files += 1 + try: + with open(full, encoding="utf-8") as fh: + text = fh.read() + except UnicodeDecodeError: + undecodable.append(rel) + continue + findings += scan_text(text, rel) + except (OSError, subprocess.CalledProcessError) as exc: + print(f"layer_a_scan: error: {exc}", file=sys.stderr) + return 2 + fail_ctx = None if args.fail_on == "all" else set(args.fail_on.split(",")) + failing = [f for f in findings if f["severity"] == "violation" + and (fail_ctx is None or f["context"] in fail_ctx)] + summary = {"files": files, "findings": len(findings), + "violations": sum(f["severity"] == "violation" for f in findings), + "failing": len(failing), "undecodable": undecodable} + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"summary": summary, "findings": findings}, fh, indent=1, ensure_ascii=False) + for f in failing: + print(f"{f['path']}:{f['line']}:{f['col']}: {f['layer']} {f['kind']} ({f['context']})") + print(json.dumps(summary, ensure_ascii=False)) + # Undecodable files cannot be certified clean: fail closed. + if undecodable: + return 1 + return 1 if failing else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/mutation_test.py new file mode 100644 index 000000000..8d2b9b501 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/mutation_test.py @@ -0,0 +1,148 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"if ch in _EXCLUDED_LETTERS:","if False:"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def run_one(name, filename, transform, output_dir): + """Execute the unchanged behavioral suite against a temporary actual checker mutation.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + (root/filename).write_text(changed,encoding='utf-8') + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(root/'tests'),'-p','test_auditor.py','-v'] + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + try: + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + except subprocess.TimeoutExpired as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + tests,failures,errors=parse_test_result(output,p.returncode) + if p.returncode==0 and tests: + outcome='SURVIVED' + elif p.returncode!=0 and tests and failures and not errors: + outcome='KILLED' + else: + outcome='ERROR' + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode,'tests_run':tests, + 'assertion_failures':failures,'errors':errors,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(HERE/'tests'),'-v'] + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + tests,failures,errors=parse_test_result(baseline.stdout,baseline.returncode) + results=[] + if baseline.returncode==0 and tests: + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline.returncode==0 and tests>0 and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/source_checks.py b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/source_checks.py new file mode 100644 index 000000000..4714feb07 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/source_checks.py @@ -0,0 +1,296 @@ +"""Bounded lexical/AST checks. See SPEC.md for claims, trust profile and nonclaims.""" +import ast +from dataclasses import dataclass +import re + +from canonical_lean import lex_tokens as canonical_identifier_tokens + + +@dataclass(frozen=True) +class Token: + text: str + line: int + column: int + quoted: bool = False + + +def finding(code, detail, line=0): + return {'code': code, 'detail': detail, 'line': line} + + +def lean_tokens(text): + """Tokenize source without interpreting syntax, retaining accurate source locations.""" + tokens, gaps = [], [] + i, line, column, n = 0, 1, 0, len(text) + + def advance(end): + nonlocal i, line, column + segment = text[i:end] + count = segment.count('\n') + column = len(segment.rsplit('\n', 1)[-1]) if count else column + len(segment) + line += count + i = end + + def error(detail): + gaps.append(finding('LEAN_LEXICAL_GAP', detail, line)) + + while i < n: + c = text[i] + if c.isspace(): + advance(i + 1) + elif text.startswith('--', i): + end = text.find('\n', i + 2) + advance(n if end < 0 else end) + elif text.startswith('/-', i): + j, depth = i + 2, 1 + while j < n and depth: + if text.startswith('/-', j): + depth += 1; j += 2 + elif text.startswith('-/', j): + depth -= 1; j += 2 + else: + j += 1 + if depth: + error('unterminated nested block comment') + advance(j) + elif (raw := re.match(r'r(#+)?"', text[i:])) is not None: + marker = '"' + (raw.group(1) or '') + end = text.find(marker, i + raw.end()) + if end < 0: + error('unterminated raw string literal'); advance(n) + else: + advance(end + len(marker)) + elif c == '"': + if i > 0 and text[i - 1] == '!': + error('interpolated string can contain executable terms; requires elaborated certification') + j = i + 1 + while j < n: + if text[j] == '\\': + j += 2 + elif text[j] == '"': + break + else: + j += 1 + if j >= n: + error('unterminated string literal'); advance(n) + else: + advance(j + 1) + elif c == '«': + end = text.find('»', i + 1) + if end < 0: + error('unterminated escaped identifier'); advance(n) + else: + tokens.append(Token(text[i + 1:end], line, column, True)); advance(end + 1) + elif c == "'" and i + 2 < n and (text[i + 2] == "'" or text[i + 1] == '\\'): + j = i + 2 + if text[i + 1] == '\\': + j = i + 3 + while j < n and text[j] != "'" and text[j] != '\n': + j += 1 + if j < n and text[j] == "'": + advance(j + 1) + else: + error('unsupported or unterminated character literal'); advance(j) + elif c.isalpha() or c == '_' or c.isdigit(): + j = i + 1 + while j < n and (text[j].isalnum() or text[j] in "_'" or (text[j] == '.' and j + 1 < n and (text[j + 1].isalpha() or text[j + 1] == '_'))): + j += 1 + tokens.append(Token(text[i:j], line, column)); advance(j) + else: + pair = text[i:i + 2] + if pair in {':=', '=>', '->', '<=', '>=', '!=', '==', '<-'}: + tokens.append(Token(pair, line, column)); advance(i + 2) + else: + tokens.append(Token(c, line, column)); advance(i + 1) + return tokens, gaps + + +def _contradictions(header): + """Detect only declared source shapes; this does not interpret Lean propositions.""" + hypotheses = [] + stack = [] + for i, t in enumerate(header): + if t in {'(', '{', '['}: + stack.append((i, t)) + elif t in {')', '}', ']'} and stack: + start, opening = stack.pop() + interior = header[start + 1:i] + depth, colon = 0, None + for j, word in enumerate(interior): + if word in {'(', '{', '['}: depth += 1 + if word in {')', '}', ']'}: depth -= 1 + if word == ':' and depth == 0: + colon = j; break + if colon is not None: + hypotheses.append(tuple(interior[colon + 1:])) + for i, t in enumerate(header[:-1]): + if t == 'False' and header[i + 1] in {'→', '->'}: + hypotheses.append(('False',)) + candidates = [] + for h in hypotheses: + if h in {('False',), ('Not', 'True'), ('¬', 'True')}: + candidates.append('explicit false hypothesis: ' + ' '.join(h)) + if len(h) == 3 and h[0] == h[2] and h[1] in {'<', '≠', '!='}: + candidates.append('self-strict/disequality hypothesis: ' + ' '.join(h)) + if len(h) == 3 and re.fullmatch(r'[0-9]+',h[0]) and re.fullmatch(r'[0-9]+',h[2]) and h[1] == '=' and int(h[0]) != int(h[2]): + candidates.append('incompatible literal equality candidate: ' + ' '.join(h)) + positive = h[1:] if h and h[0] in {'¬', 'Not'} else None + if positive and positive in hypotheses: + candidates.append('opposing hypotheses: ' + ' '.join(positive)) + return sorted(set(candidates)), [' '.join(h) for h in hypotheses] + + +def check_lean(text): + tokens, findings = lean_tokens(text) + imports, declarations = [], [] + placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'} + native = {'native_decide', 'native', 'ofReduceBool', 'ofReduceNat', 'ofReduceInt', 'trustCompiler', 'skipKernelTC'} + expansion = {'macro', 'macro_rules', 'elab', 'elab_rules', 'syntax', 'unsafe', 'run_elab', 'initialize', 'builtin_initialize', 'implemented_by', 'extern'} + hazards = [Token(name, line, column - 1) for name, line, column, first in canonical_identifier_tokens(text)] + hazards.extend(t for t in tokens if t.quoted and t.text in native | {'sorryAx'}) + for token in hazards: + word = token.text + tail = word.rsplit('.', 1)[-1] + if tail in placeholders and (not token.quoted or tail == 'sorryAx'): + findings.append(finding('LEAN_PLACEHOLDER', word, token.line)) + if tail in {'axiom', 'constant', 'constants'}: + findings.append(finding('LEAN_AXIOM', 'owned/new axiom declaration or reference requires refusal: ' + word, token.line)) + if tail in native: + findings.append(finding('LEAN_NATIVE', 'compiler/native trust escape: ' + word, token.line)) + if tail in expansion: + findings.append(finding('LEAN_EXPANSION_GAP', 'requires G2/G4 expanded environment certificate: ' + word, token.line)) + if tail in {'Float','Float32'}: + findings.append(finding('LEAN_FLOAT_REVIEW_GAP', 'floating-point use requires a relevant exact mathematical/nonmathematical certificate', token.line)) + for i, token in enumerate(tokens): + word = token.text + if word == 'import': + j = i + 1 + while j < len(tokens): + t = tokens[j] + if (t.line > token.line and t.column == 0) or not re.fullmatch(r'[^\W\d]\w*(?:\.[^\W\d]\w*)*', t.text, re.UNICODE): + break + imports.append(t.text); j += 1 + if j == i + 1: + findings.append(finding('LEAN_IMPORT_GAP', 'missing or unsupported import syntax', token.line)) + if word in {'theorem', 'lemma', 'example'}: + if word == 'example': + name, j = 'example', i + 1 + else: + if i + 1 >= len(tokens): + findings.append(finding('LEAN_DECLARATION_GAP', 'missing declaration name', token.line)); continue + name, j = tokens[i + 1].text, i + 2 + header, depth = [], 0 + while j < len(tokens): + t = tokens[j].text + if depth == 0 and t in {':=', 'where'}: + break + if depth == 0 and t in {'theorem', 'lemma', 'example'}: + break + if t in {'(', '{', '['}: depth += 1 + if t in {')', '}', ']'}: depth -= 1 + header.append(t); j += 1 + if j == len(tokens) or depth != 0: + findings.append(finding('LEAN_DECLARATION_GAP', 'unsupported/incomplete theorem header', token.line)) + contradictions, hypotheses = _contradictions(header) + declarations.append({'key': name + '@' + str(token.line), 'line': token.line, + 'contradictions': contradictions, 'hypotheses': hypotheses}) + return {'findings': findings, 'imports': imports, 'declarations': declarations} + + +EXACT_BUILTINS = frozenset({'abs', 'all', 'any', 'bool', 'dict', 'enumerate', 'int', 'len', 'list', 'max', + 'min', 'range', 'reversed', 'set', 'sorted', 'sum', 'tuple', 'zip', 'frozenset'}) +ALLOWED_AST = frozenset({ + 'Module','ImportFrom','alias','FunctionDef','arguments','arg','Return','Assign','AnnAssign','AugAssign', + 'Expr','Constant','Name','Load','Store','Del','List','Tuple','Set','Dict','Subscript','Slice', + 'BinOp','UnaryOp','BoolOp','Compare','If','IfExp','For','Break','Continue','Pass','Assert', + 'ListComp','SetComp','DictComp','GeneratorExp','comprehension','Call','keyword','Attribute', + 'Add','Sub','Mult','FloorDiv','Mod','Pow','USub','UAdd','Not','Invert','And','Or', + 'Eq','NotEq','Lt','LtE','Gt','GtE','Is','IsNot','In','NotIn','BitAnd','BitOr','BitXor','LShift','RShift', + 'Div','Import', 'Lambda', 'ClassDef', 'AsyncFunctionDef', +}) + + +def check_python(text, mathematical=True): + findings, imports, import_candidates = [], [], [] + try: + tree = ast.parse(text) + except (SyntaxError, ValueError, RecursionError) as exc: + return {'findings': [finding('PY_SYNTAX', str(exc), getattr(exc, 'lineno', 0) or 0)], 'imports': []} + aliases = {'Fraction'} + local_functions = {n.name for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)} + dynamic_aliases = {'__import__', 'eval', 'exec', 'compile', 'globals', 'locals'} + for node in ast.walk(tree): + if isinstance(node, ast.Import): + for alias in node.names: + imports.append(alias.name) + if alias.name in {'importlib', 'builtins'}: + dynamic_aliases.add(alias.asname or alias.name) + elif isinstance(node, ast.ImportFrom): + name = '.' * node.level + (node.module or '') + imports.append(name) + import_candidates.extend(name + '.' + alias.name for alias in node.names if alias.name != '*') + if node.module == 'fractions' and node.level == 0: + for alias in node.names: + if alias.name == 'Fraction': + aliases.add(alias.asname or alias.name) + if node.module in {'importlib', 'builtins'}: + for alias in node.names: + dynamic_aliases.add(alias.asname or alias.name) + allowed_calls = EXACT_BUILTINS | aliases | local_functions + protected = EXACT_BUILTINS | aliases | local_functions | {'__builtins__'} + for node in ast.walk(tree): + line = getattr(node, 'lineno', 0) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in dynamic_aliases: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic executor/importer name requires dependency certifier: ' + node.id, line)) + if isinstance(node, ast.ImportFrom) and (node.level or any(a.name == '*' for a in node.names)): + findings.append(finding('PY_IMPORT_GAP', 'relative/star import requires explicit dependency certifier', line)) + if isinstance(node, ast.Call): + name = node.func.id if isinstance(node.func, ast.Name) else None + dynamic = (name in dynamic_aliases or + isinstance(node.func, ast.Attribute) and + (node.func.attr in {'import_module','__import__','exec_module','load_module','find_spec','spec_from_file_location'} or + isinstance(node.func.value, ast.Name) and node.func.value.id in dynamic_aliases)) + if dynamic: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic execution/loading cannot establish closed dependency boundary', line)) + if not mathematical: + continue + name = type(node).__name__ + if name not in ALLOWED_AST or isinstance(node, (ast.Lambda, ast.ClassDef, ast.AsyncFunctionDef)): + findings.append(finding('PY_AST_GAP', 'unsupported exact-program AST node: ' + name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in {'float','complex','__builtins__'}: + findings.append(finding('PY_INEXACT', 'inexact/reflective value can escape through callbacks: ' + node.id, line)) + if isinstance(node, ast.alias) and node.asname in EXACT_BUILTINS: + findings.append(finding('PY_REBIND', 'import shadows exact builtin: ' + node.asname, line)) + if isinstance(node, ast.FunctionDef): + if node.decorator_list: + findings.append(finding('PY_AST_GAP', 'decorators can replace exact functions', line)) + if node.name in EXACT_BUILTINS | aliases | {'__builtins__'}: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.id, line)) + if isinstance(node, ast.arg) and node.arg in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic parameter: ' + node.arg, line)) + if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)): + findings.append(finding('PY_INEXACT', 'float/complex literal forbidden in mathematical program', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div): + findings.append(finding('PY_INEXACT', '/ may produce float; use Fraction(n,d)', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow): + if not (isinstance(node.right, ast.Constant) and type(node.right.value) is int and node.right.value >= 0): + findings.append(finding('PY_INEXACT', '** requires nonnegative integer literal exponent', line)) + if isinstance(node, ast.Import): + findings.append(finding('PY_IMPORT_GAP', 'only from fractions import Fraction [as alias] is in the exact profile', line)) + if isinstance(node, ast.ImportFrom): + if node.module != 'fractions' or node.level or any(a.name != 'Fraction' for a in node.names): + findings.append(finding('PY_IMPORT_GAP', 'import outside exact fractions profile', line)) + if isinstance(node, ast.Call): + if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls: + findings.append(finding('PY_CALL_GAP', 'call is not a statically named exact builtin/Fraction/local function', line)) + if any(k.arg is None for k in node.keywords) or any(isinstance(a, ast.Starred) for a in node.args): + findings.append(finding('PY_CALL_GAP', 'dynamic argument expansion is outside exact profile', line)) + if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}: + findings.append(finding('PY_ATTRIBUTE_GAP', 'only exact numerator/denominator reads are supported', line)) + if isinstance(node, ast.Attribute) and not isinstance(node.ctx, ast.Load): + findings.append(finding('PY_ATTRIBUTE_GAP', 'attribute mutation is outside exact profile', line)) + if isinstance(node, ast.comprehension) and node.is_async: + findings.append(finding('PY_AST_GAP', 'async comprehension is outside exact profile', line)) + return {'findings': findings, 'imports': sorted(set(imports)), 'import_candidates': sorted(set(import_candidates))} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/tests/test_auditor.py new file mode 100644 index 000000000..75973f2b6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/tests/test_auditor.py @@ -0,0 +1,528 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/tests/test_mutation_runner.py new file mode 100644 index 000000000..ad04c013f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-hardening-source/tests/test_mutation_runner.py @@ -0,0 +1,44 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/LEXER_PROVENANCE.json b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/LEXER_PROVENANCE.json new file mode 100644 index 000000000..5e6b3930c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/LEXER_PROVENANCE.json @@ -0,0 +1,36 @@ +{ + "bytes": 17697, + "copy_status": "EXACT_UNMODIFIED_PUBLIC_SOURCE", + "exact_public_source": "evidence/public-pr29-ef5b924/layer_a_scan.py", + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "immutable_pr_metadata": "evidence/public-pr29-ef5b924/PR_METADATA.json", + "local_copy": "canonical_lean.py", + "native_git_blob_sha1": "0a113896aff4c999111193359c38906ff61e52e8", + "new_integration_verification": "local hardening G0 covers actual adapter and narrow stricter source policy, including actual checker-source mutations", + "path": "tools/cbz/layer_a_scan.py", + "previous_version": { + "blob": "9393cf7ef6d0665c232556f8df745463f83c9f5e", + "head": "b7eebb4daee0d49f8147e235df7799a15187aa75", + "preserved_source": "evidence/pre-hardening-source/canonical_lean.py", + "prior_receipt": "evidence/g0-final.json" + }, + "published_verification_claim": { + "behavioral_tests": 28, + "mutants": 39 + }, + "published_verification_status": "CONTRIBUTOR_CLAIM_RECORDED_NOT_RERUN_HERE", + "repository": "d6g8k5htny-coder/Universal-Law-Workspace", + "sha256": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "source_receipt": "evidence/public-pr29-ef5b924/FETCH_METADATA.json", + "unused_interfaces": [ + "classify_token", + "context_of", + "iter_fs", + "git_lean_blobs", + "main" + ], + "used_interfaces": [ + "lex_tokens(text)", + "_CHAR_LIT" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/README.md b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/README.md new file mode 100644 index 000000000..f40e80af5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/README.md @@ -0,0 +1,119 @@ +# CBZ exact-scope Layer A contribution + +This tool contributes classification/hash/import isolation, a strict exact-arithmetic Python AST profile and A6/A7 evidence bindings. It reuses the published PR29 identifier lexer. It does **not** replace federation G2/G4 or declare mathematical closure. The authoritative mechanical contract and limitations are in [SPEC.md](SPEC.md). + +## Commands + +With Python 3.11 or newer, change into the complete tool directory at your chosen repository-relative destination, for example `cbz/contributions/math514/layer_a/` or `tools/cbz/exact_scope/`: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use a fresh controller output path per run; preserved raw development receipts are immutable historical evidence. Raw receipt paths identify the local environment where they ran, not publication execution paths. Run the second command for an actual repository only after the first succeeds and the controller has prepared its final tracked-file scope. G0 runs every local selftest, then actual temporary checker-source mutants. G1 reads files only; it never runs Git, Lean, project Python, external commands or mathematical checks. Its report is deterministic for identical manifest bytes/files/tool. `audit(manifest)` is also available to isolated fixture tests; it accepts the parsed object and returns the report. + +Audit exit codes: **0** bounded `STATIC_PASS`; **1** one or more blocking findings; **2** invalid/unreadable JSON or command-line usage; **3** requested report output could not be written. `STATIC_PASS` always carries outstanding G2/G3/G4/G5/G7/G8/G10 obligations. Every finding blocks the static result; `fatal_gaps` is the subset that specifically identifies missing/unsupported certification. Retained isolated findings appear separately and never mean those files are clean. CLI input errors produce JSON except argparse usage errors. G0 exit 0 means every declared mutant was killed; any surviving/invalid/crashing mutant or baseline error is nonzero. No weakening/skip option exists. + +To run selftests alone (development, not a replacement for G0): + +```sh +python -B -S -m unittest discover -s tests -v +``` + +## Manifest schema v1 + +JSON accepts integers only; duplicate keys, floats, NaN and Infinity are rejected. Top-level keys are **exactly**: + +```json +{ + "schema_version": 1, + "approved_axioms": ["propext", "Classical.choice", "Quot.sound"], + "roots": [ + { + "id": "math", + "path": "/absolute/final-tree", + "tree_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "tracked_files": ["Closed.lean"], + "files": { + "Closed.lean": { + "sha256": "<64 lowercase hexadecimal content digest>", + "kind": "project_lean", + "module": "lean:Closed", + "vacuity": { + "t@1": { + "status": "conditional", + "premises": [], + "reason": "No nonvacuity certificate claimed; elaborated statement review remains G2/G8." + } + } + } + } + } + ], + "module_map": {"lean:Closed": "math:Closed.lean"} +} +``` + +This is a schema illustration: replace the absolute root, immutable tree id, exact inventory and actual SHA256 values. Roots are nonempty, normalized absolute directories with unique ASCII ids (`[A-Za-z0-9_-]+`) and nonoverlapping paths. A tree id is 40 or 64 lowercase hexadecimal characters; G10 authenticates its connection to the supplied inventory. Every root has a nonempty unique list of normalized relative NFC paths, no `..`, backslashes or symlink component. `files` keys equal `tracked_files` exactly. No exclusions or inferred quarantine folders exist. The controller supplies the full final tracked scope; untracked state and inventory authenticity remain G10. + +Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable to its kind fail. Additional fields by kind: + +| kind | Fields and obligations | +|---|---| +| `project_lean` | `module`, `vacuity` required; `.lean` source | +| `math_python` | `module` required; `.py`/`.pyi` closed exact-program profile | +| `engineering_python` | `module`, `nonmath_review` required; `.py`/`.pyi`; floats only in explicit bound nonmathematical reviewed scope | +| `negative_fixture` | `language`, `module`, `expected_findings`, `fixture_purpose`; retains actual negative tests | +| `quarantined_source` | `language`, `module`, `expected_findings`, `quarantine`; exact terminal isolation | +| `external_pinned` | `pin` required; source requires supported `language`/`module` and Lean `vacuity`; optional binary `bindings` | +| `binary_proof` | `bindings` required, optional `pin`; bytes are not treated as text | +| `documentation`, `data` | optional `status_evidence: true` for JSON status surfaces; other known source/proof suffixes cannot be relabeled this way | + +`language` is `lean` or `python`. Retained source always requires language and a registered module, including a `.txt` filename; a mapped external module likewise requires supported source analysis. Historical `.lean.txt`/`.py.txt` source is recognized. Known unsupported source extensions fail with `LANGUAGE_GAP` even if labeled Lean/Python; they require an appropriate certifier, not arbitrary data labeling. Nonbinary files must decode strict UTF-8. Actual reads and explicit permission bits are checked, including under a privileged reader. Immutable `pin` is exactly `{ "revision": "<40 or 64 lowercase hex>", "origin": "" }`. Dependencies are scanned, never automatically declared safe by pinning. Known binary object suffixes also require G2/G4 bindings when `external_pinned`. + +A source module has exactly one identity, e.g. `lean:Closed.Base` or `python:certifier`, and its one `module_map` value is `rootid:relative/path`. Maps cannot point to documents or alias a differently declared module. Explicit imports resolve through this map. Closed code may not reach negative/quarantined source through any mapped import chain. Python `from fractions import Fraction [as alias]` is the sole built-in exact-math profile import; G7 must bind/authenticate that Python runtime and fractions implementation. Mapped local `fractions` modules take precedence over the stdlib exception; a mathematical source cannot depend on an engineering-only replacement. Python mapped package prefixes and `from package import submodule as alias` candidates also enter the isolation graph. Other unknown imports, relative/star imports, reflective loaders, macro expansion and unsupported mechanisms remain reported gaps. Plain Lean module identifiers including apostrophe, `!` and `?` suffixes are extracted completely. Unsupported or escaped operands and trailing syntax are explicit `LEAN_IMPORT_GAP` findings even after a valid prefix. Both Python scopes refuse explicit reflective namespace entrypoints (`__builtins__`, `vars`, `getattr`, `setattr`, `delattr`, globals/locals and defined globals/class/frame attributes); an engineering review does not waive that boundary. There is no general import/dataflow completeness claim. + +## Retained source and certificates + +`expected_findings` is an exact map of checker code to positive integer occurrence count, e.g. `{"LEAN_PLACEHOLDER": 1}`. `{}` is valid for a retained semantic failure that has no lexical violation; G5 still must retain and execute its actual failing test. Missing or extra scanner findings block. No retained source is counted as clean. + +A quarantine object has exactly: + +```json +{"id":"Q-1","boundary":"root:path and exact isolated mathematical boundary","blocking_reason":"specific unproved fact","owner":"none","maintenance":"zero"} +``` + +All evidence references have exactly `{"root":"id","path":"relative/file.json","sha256":""}`. The referenced file must itself be classified, readable, hash-bound JSON inside the manifest. Binding is mechanical; authentication and truth of its review/certificate are G8/controller work. + +An engineering `nonmath_review` reference points to exactly: + +```json +{"type":"nonmathematical_review","source_sha256":"","scope":"nonmathematical_execution_only","reviewer":"identified reviewer","rationale":"explicit reviewed execution scope; no mathematical certification"} +``` + +This is an affirmative review claim, not a waiver for mathematical floats. The controller must substantiate it. + +Lean `vacuity` keys cover exactly every lexical theorem/lemma/example as `name@line` (anonymous `example@line`). An entry has `status`, nonempty `reason`, and only the following applicable fields: + +- `conditional`: explicit `premises` string list, possibly empty; no satisfiability claim. +- `vacuous`: reason naming the unsatisfiable source-shaped hypotheses; syntactic contradiction candidates require this classification. +- `nonvacuous`: `evidence` reference to `{ "type":"nonvacuity_certificate", "subject_sha256":"", "declaration":"name@line", "witness_description":"actual witness and certificate description" }`. + +Candidates are syntax observations; arithmetic interpretations, aliases and arbitrary proposition SAT are not decided. G8 must validate the semantic interpretation of annotations, and G2 must expose generated/aliased statements. Conditional status never closes a mathematical hypothesis obligation. + +Binary `bindings` is exactly `{"G2":,"G4":}`. Each reference points to a passing JSON object with `type: "kernel_evidence"`, corresponding `gate`, `subject_sha256` equal to the object's content hash, `observed_status: "PASS"`, integer `exit_code: 0`, a nonempty command list and nonempty `run_id`. G2/G4 must actually supply/authenticate that result; byte/hash presence cannot create it. + +## Status evidence schema + +A file with `status_evidence: true` contains exactly required fields `schema_version:1`, `gate:G0..G11`, `observed_status:PASS|FAIL|NOT_RUN|ERROR|INACCESSIBLE`, nonempty `run_id`, nonempty string-list `command`, `exit_code`, and nonempty `inputs` mapping `rootid:path` to actual content SHA256. The only optional field is `evidence`, a bound JSON reference. `PASS` requires integer exit 0; `FAIL` requires nonzero integer exit; other observed execution states require integer exit. The observation JSON must equal all status fields except the evidence pointer, using canonical JSON comparison that distinguishes booleans from integers. `NOT_RUN` requires null exit and no observation evidence. This checks structure and bindings, never an aspirational Markdown label or command execution authenticity. + +## Published lexical reuse and evidence + +`canonical_lean.py` is the unchanged public `tools/cbz/layer_a_scan.py` from Universal-Law-Workspace PR29, head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169`, native Git blob `0a113896aff4c999111193359c38906ff61e52e8`. `LEXER_PROVENANCE.json` records exact source binding and inherited verification claims. We call only its `lex_tokens`; its heuristic path contexts, default exclusion behavior, filesystem/Git walking and standalone CLI are **not used**. Our manifest classifies every supplied file explicitly. Its published 28-test/39-mutant claim is recorded as inherited contributor evidence and was not rerun here. Our added integration tests cover the reported unchecked insertion, escaped helpers, malformed character literals and multiline/comment-separated native configurations. The previous b7eebb4 source and its G0-bound integration are preserved under `evidence/pre-hardening-source/`. Its earlier published tests are reusable evidence, not fresh federation gate evidence. Our integration tests and checker-source mutations exercise the adopted lexer at this boundary. + +G0 receipts bind the actual checker/test/spec/README source hashes and each changed checker hash/log. Invalid syntax, import/runtime errors and timeouts do not count as killed mutants. Identity-mutant and crashing-mutant tests verify the harness itself. Initial red runs and the original permission-guard survivor are retained as development evidence; the original guard-removal mutant remains in the final declared set alongside the actual skip-file mutant. The privilege-descriptor fixture kills the original by assertion. All final threshold decisions use exact integer counts, never floating point. + +Owned by the root CBZ integrator after admission. This agent only writes this directory and its discovery build report. Root owns the final registry, tracked scope, source receipt verification, G0–G11 final run and any CBZ-0 declaration. + +Hardening scope: `Environment.addDeclWithoutChecking` and qualified/escaped forms are blocking `LEAN_KERNEL_BYPASS` findings. Escaped `admitGoal`/`mkSorry` helper constants are refused alongside `sorryAx`. Unterminated character literals fail with `LEAN_LEXICAL_GAP`. Every exact `native` identifier is conservatively refused, so native configuration flags do not evade detection through whitespace, line breaks or nested comments; this policy can also reject harmless uses of that identifier. Comments and ordinary/raw strings remain noncode. No arbitrary alias expansion, semantic kernel trust or SAT completeness is claimed. The finite planted layouts are listed in `evidence/hardening-assessment.json`. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/SNAPSHOT_BINDING.json b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/SNAPSHOT_BINDING.json new file mode 100644 index 000000000..b1b4fc96d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/SNAPSHOT_BINDING.json @@ -0,0 +1,16 @@ +{ + "reason": "Preserve first five-gap repair G0 before additional unsupported import-literal refusal", + "receipt": "evidence/g0-admission-fix.json", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", + "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + "type": "EXACT_PRE_IMPORT_LITERAL_FIX_SOURCE_SNAPSHOT" +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/SPEC.md b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/SPEC.md new file mode 100644 index 000000000..80e7941a8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/SPEC.md @@ -0,0 +1,35 @@ +# CBZ Layer A static auditor — bounded specification + +Purpose: G0 tests the auditor itself; G1 checks a root-authorized exact tracked-file manifest. This is a focused Python-stdlib command, not a Lean parser, kernel, SAT solver, Python interpreter or general framework. A successful result is `STATIC_PASS`, never CBZ-0 or proof closure. + +## Authority and scope + +The final federation controller supplies schema v1: exact roots, immutable tree identifiers, complete tracked-file lists, and one hash-bound classification per tracked file. The auditor validates every listed file, exact classification coverage, normalized paths, absence of symlink aliases, UTF-8 where applicable, readability, content SHA256, and all class-specific obligations. It never guesses exclusions or silently skips a file. The authority/completeness of the supplied Git inventory remains G10; this tool deliberately does not run Git. Its report binds manifest bytes, inventory lists and every scanned file. The manifest is supplied outside the audited root in tests; production may bind it as controller evidence outside its own hash cycle. + +Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_fixture`, `quarantined_source`, `external_pinned`, `binary_proof`, `documentation`, `data`. Source-looking extensions cannot be relabeled documentation/data. Every source, including quarantined and negative source, is scanned. Retained negative/quarantined source must name its exact expected finding multiset; extra or absent findings fail. Quarantine additionally records an exact nonempty boundary, blocking reason, id and source hash. These records are dispositions, not clean source. Binary proofs require content-bound G2 and G4 evidence references. External files require immutable revision pin metadata; no implicit dependency trust exception exists. + +## Mechanical claims + +Lean: the unchanged public PR29 identifier lexer (`canonical_lean.py`, provenance in `LEXER_PROVENANCE.json`) supplies the hazard stream; a bounded punctuation/header lexer supplies metadata and fail-closed malformed-input detection. Together they handle line comments, nested block comments, ordinary/raw string literals, character literals, escaped identifiers and Unicode identifier boundaries. It refuses malformed lexical constructs and interpolation (which can contain executable terms). Outside comments/strings it detects exact `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, axiom/constant declarations, `native_decide`, `native`, `ofReduceBool`, `ofReduceNat`, `ofReduceInt`, `trustCompiler` and `skipKernelTC`, including qualified forms. `addDeclWithoutChecking` (qualified/escaped forms included) is a blocking unchecked-kernel-insertion hazard. Escaped `sorryAx`/`admitGoal`/`mkSorry` constant names remain hazards, while escaped keyword identifiers such as `«sorry»` are not logical placeholders. An exact `native` identifier is always refused, conservatively covering native-decide configuration across whitespace, newlines and nested comments without depending on a follow-text regular expression. Float/Float32 and unsafe/macro/elaborator/FFI syntax are flagged for explicit G2/G4 follow-up because lexical inspection cannot certify its expansion. Imported project macros can inject axioms without these tokens: G2 must enumerate ALL elaborated owned declarations, including private/generated ones, and G4 must kernel recheck them. + +Approved foundation declaration profile: **no newly declared owned source axiom is permitted**, even when named `propext`, `Classical.choice` or `Quot.sound`. The approved imported transitive axiom set is exactly `{propext, Classical.choice, Quot.sound}`; only G2's all-declaration kernel environment audit can authenticate that set and those actual declarations. Lexical source naming cannot create an exception to it. Dependencies are immutable pinned inputs, not arbitrary new foundation declarations. + +Math Python: an explicit AST allowlist accepts closed-program exact integer/`fractions.Fraction` arithmetic, exact builtins and statically named local functions. No floating/complex literals, `/`, unrestricted powers, arbitrary imports, dynamic calls, reflective attributes, classes, decorators, async, external input, exceptions as proof, or builtin/Fraction rebinding. `**` requires a nonnegative integer literal exponent. Fraction import aliases are supported and protected. This is a conservative syntactic exact-arithmetic profile, not arbitrary interprocedural float-dataflow analysis. Functions are certified only as part of the closed program; external callers are outside the profile. Engineering Python allows floats only with a hash-bound explicit review declaring nonmathematical execution scope; it is parsed and dependency checked, never silently admitted as mathematical certification. + +Boundary checks: explicit Lean and Python imports from closed sources resolve through `module_map` to classified pinned files. Closed code cannot import quarantine or negative fixtures, including transitive import chains. Plain Lean module operands include apostrophe, `!` and `?` identifier suffixes; an unsupported operand or trailing token is a gap even after a valid module prefix. Escaped module syntax is outside this bounded import parser and is refused. Python refuses explicit reflective namespace/loader entrypoints in both mathematical and engineering source, including builtins/namespace names and the defined globals/class/frame reflective attributes; a nonmathematical review cannot waive import isolation. Unresolved/dynamic/unsupported import mechanisms are fatal gaps (or exact retained findings in isolated source); no claim of arbitrary runtime dependency completeness is made. The module map must agree with per-file declared module identities and cannot alias names. Retained source requires supported language/module metadata regardless of suffix; an external mapped module also requires a supported source language. Known unsupported source suffixes remain gaps even if labeled Lean/Python. G2/G4 must account for generated modules, macros, FFI and runtime-dependent loading; unknown cases are never green. + +A6: every lexical theorem/lemma/example has an entry keyed `name@line` (`example@line` for anonymous examples). Entries are `conditional` with explicit premises/reason, `nonvacuous` with a bound evidence reference, or `vacuous` with a reason. Syntactic candidates (`False` hypothesis, `False →`, opposing `P`/`¬P`, self-strict inequality/disequality, incompatible literal equality) require `vacuous` classification. These are source-shape candidates, not a decision procedure for Lean proposition satisfiability; aliases, typeclass interpretations and arbitrary semantic inconsistency require separate certificates/G2 elaborated statement review. The report lists all detected candidates and all conditional claims. + +A7: status JSON is checked only when explicitly bound with `status_evidence`: exact allowed observed state, gate id, command, run id, input hashes, evidence reference and exit code must agree. Observation equality uses canonical JSON serialization so booleans and integers remain distinct. An observation file is evidence structure/content binding, not authentication that the command actually ran. G8/controller execution receipts supply that provenance. Markdown truth and no-weakened-bound historical intent are outside lexical decidability; they require G8 and source-history review respectively. + +## Nonclaims and hard limits + +No source scanner proves arbitrary mathematics, satisfiability, bound strength, historical test retention, semantic status truth, pin compatibility, kernel trust, command execution or external review authenticity. G2/G3/G4/G5/G7/G8/G10 and relevant manual certificates remain explicit obligations. `STATIC_PASS` covers only the stated mechanical rules under the supplied final tracked inventory. Any missing/unsupported case is a finding/fatal gap, never a skipped green case. Test/mutation scores are finite declared coverage, not a proof of all possible checker behavior. + +## Delivery and authorization + +Owner's explicit autonomous directive supersedes skill approval/branch/commit/reviewer ceremony. Work is confined to `tools/layer_a/` and `discovery/auditor-build-report.{md,json}`; root owns Git, registry, final manifests and final G0–G11. Existing `formal/gate.py` hash/path/axiom target checks were inspected: their target-scoped audit and source-manifest checks are useful G2/G3/G4 components but do not implement this lexer/AST/full-classification contract. Their invariant patterns (safe paths, exact hashes, strict JSON, exact approved set) are retained; their package-specific execution and destructive build routines are not copied or run. + +Published component reuse: exact native blob `0a113896aff4c999111193359c38906ff61e52e8` at public Workspace PR29 head `ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169` is imported unchanged. Its published 28-test/39-mutant claim is recorded as inherited contributor evidence, not a local rerun; our G0 verifies the new integration and supplementary rules. No heuristic directory exclusions or Git execution from its standalone entrypoint are used. Lean excludes lambda from identifier continuation; the earlier harmless-Unicode fixture was corrected to alpha, and a lambda-boundary violation was added. The original permission-guard-removal mutant remains in the final declared set and is killed under a real already-open descriptor that survives chmod(000); the additional silent-skip mutant is distinct. + +Hardening trigger: a concrete integration review exposed unchecked declaration insertion, malformed character and escaped helper gaps. `evidence/hardening-reported-cases-red.log` retains the observed RED cases; the previous nine G0-bound source/doc files are preserved exactly in `evidence/pre-hardening-source/`. No historical repository mathematics was repeated. Actual repository G1 remains root-owned and NOT_RUN here. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/auditor.py b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/auditor.py new file mode 100644 index 000000000..630db4c3b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/auditor.py @@ -0,0 +1,366 @@ +#!/usr/bin/env python3 +"""G1 bounded static auditor. `STATIC_PASS` is not proof closure. See SPEC.md.""" +import argparse +from collections import Counter +import hashlib +import json +import os +from pathlib import Path, PurePosixPath +import re +import stat +import sys +import unicodedata + +from source_checks import check_lean, check_python + +APPROVED_AXIOMS = frozenset({'propext', 'Classical.choice', 'Quot.sound'}) +KINDS = frozenset({'project_lean','math_python','engineering_python','negative_fixture','quarantined_source', + 'external_pinned','binary_proof','documentation','data'}) +RETAINED = frozenset({'negative_fixture','quarantined_source'}) +SOURCE_EXTENSIONS = frozenset({'.lean','.py','.pyi','.sh','.bash','.js','.ts','.c','.cc','.cpp','.h','.rs'}) +BINARY_EXTENSIONS = frozenset({'.olean','.ilean','.o','.so','.a','.dll','.dylib','.wasm'}) +HEX = re.compile(r'[0-9a-f]{64}') +ENTRY_KEYS = frozenset({'kind','sha256','module','language','vacuity','expected_findings','quarantine', + 'fixture_purpose','pin','nonmath_review','bindings','status_evidence'}) + + +CLASS_KEYS = { + 'project_lean': {'module','vacuity'}, + 'math_python': {'module'}, + 'engineering_python': {'module','nonmath_review'}, + 'negative_fixture': {'language','module','expected_findings','fixture_purpose'}, + 'quarantined_source': {'language','module','expected_findings','quarantine'}, + 'external_pinned': {'language','module','vacuity','pin','bindings'}, + 'binary_proof': {'bindings','pin'}, + 'documentation': {'status_evidence'}, + 'data': {'status_evidence'}, +} + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def strict_json(text): + def unique(pairs): + result = {} + for k, v in pairs: + if k in result: + raise ValueError('duplicate JSON key: ' + k) + result[k] = v + return result + def refuse(token): + raise ValueError('noninteger/nonfinite JSON number refused: ' + token) + return json.loads(text, object_pairs_hook=unique, parse_float=refuse, parse_constant=refuse) + + +def normalized_path(value): + if not isinstance(value, str) or not value or '\\' in value or '\x00' in value: + return False + p = PurePosixPath(value) + return (not p.is_absolute() and '..' not in p.parts and '.' not in p.parts and str(p) == value and + unicodedata.normalize('NFC', value) == value and not any(ord(c) < 32 for c in value)) + + +def audit(manifest): + findings, retained_findings, observations = [], [], [] + records, roots, graph, source_results = {}, {}, {}, {} + classified_count, scanned_count = 0, 0 + + def add(code, detail, root='', path='', line=0): + findings.append({'code':code, 'root':root, 'path':path, 'line':line, 'detail':detail}) + + def nonempty(value): + return isinstance(value, str) and bool(value.strip()) + + def binding(value, owner, label): + if not isinstance(value, dict) or set(value) != {'root','path','sha256'}: + add('EVIDENCE_BINDING', 'malformed '+label, *owner); return None + ref = value.get('root','') + ':' + value.get('path','') if isinstance(value.get('root'),str) and isinstance(value.get('path'),str) else '' + target = records.get(ref) + if target is None or target.get('data') is None or value.get('sha256') != target['entry'].get('sha256') or digest(target['data']) != value.get('sha256'): + add('EVIDENCE_BINDING', 'missing/stale/unreadable '+label, *owner); return None + try: + return strict_json(target['data'].decode('utf-8')) + except (UnicodeError, ValueError, TypeError, RecursionError) as exc: + add('EVIDENCE_BINDING', 'non-JSON '+label+': '+str(exc), *owner); return None + + if not isinstance(manifest, dict) or set(manifest) != {'schema_version','approved_axioms','roots','module_map'} or type(manifest.get('schema_version')) is not int or manifest.get('schema_version') != 1: + add('MANIFEST','schema v1 exact top-level keys required') + manifest = manifest if isinstance(manifest,dict) else {} + approved = manifest.get('approved_axioms') + if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS: + add('FOUNDATION_PROFILE','approved imported axiom set must be exactly propext, Classical.choice, Quot.sound') + raw_roots=manifest.get('roots') + if not isinstance(raw_roots,list) or not raw_roots: + add('MANIFEST','nonempty roots required');raw_roots=[] + root_realpaths=[] + for r in raw_roots: + if not isinstance(r,dict) or set(r)!={'id','path','tree_id','tracked_files','files'}: + add('MANIFEST','root exact keys required');continue + rid=r.get('id') + if not isinstance(rid,str) or not re.fullmatch(r'[A-Za-z0-9_-]+',rid) or rid in roots: + add('MANIFEST','invalid or duplicate root id');continue + if not isinstance(r.get('tree_id'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',r['tree_id']) is None: + add('MANIFEST','immutable tree identifier required',rid) + rp=r.get('path') + if not isinstance(rp,str) or not Path(rp).is_absolute() or str(Path(rp))!=rp or unicodedata.normalize('NFC',rp)!=rp: + add('PATH','root must be normalized absolute path',rid);continue + root=Path(rp) + if not root.is_dir(): + add('FILE_MISSING','root directory missing',rid);continue + if any(p.is_symlink() for p in [root,*root.parents]): + add('PATH_SYMLINK','root or ancestor is a symlink',rid);continue + real=root.resolve() + if any(real==other or real.is_relative_to(other) or other.is_relative_to(real) for other in root_realpaths): + add('PATH','overlapping/aliased roots are forbidden',rid);continue + root_realpaths.append(real);roots[rid]=r + tracked, files=r.get('tracked_files'),r.get('files') + if not isinstance(tracked,list) or not tracked or any(not isinstance(p,str) for p in tracked) or len(set(tracked))!=len(tracked) or not isinstance(files,dict): + add('MANIFEST','nonempty unique tracked paths and file object required',rid);continue + if set(tracked)!=set(files): + add('SCOPE_CLASSIFICATION','tracked/classified path sets differ: missing='+repr(sorted(set(tracked)-set(files)))+' extra='+repr(sorted(set(files)-set(tracked))),rid) + for path in sorted(set(tracked)|set(files)): + if not normalized_path(path): + add('PATH','unsafe, nonnormalized or non-NFC file path',rid,str(path));continue + if path not in files: + continue + entry=files[path];classified_count+=1 + if not isinstance(entry,dict) or set(entry)-ENTRY_KEYS or not {'kind','sha256'}<=set(entry): + add('CLASSIFICATION','malformed classification or unknown fields',rid,path);continue + if not isinstance(entry.get('kind'),str) or entry.get('kind') not in KINDS: + add('CLASSIFICATION','unknown classification: '+str(entry.get('kind')),rid,path);continue + if set(entry)-{'kind','sha256'}-CLASS_KEYS.get(entry['kind'],set()): + add('CLASSIFICATION','fields not applicable to declared classification',rid,path) + if 'language' in entry and (not isinstance(entry['language'],str) or entry['language'] not in {'lean','python'}): + add('LANGUAGE_GAP','unsupported/nonstring language classification',rid,path);continue + if 'module' in entry and not isinstance(entry['module'],str): + add('MODULE_ALIAS','module identity must be a string',rid,path);continue + if not isinstance(entry.get('sha256'),str) or HEX.fullmatch(entry['sha256']) is None: + add('FILE_HASH','missing or malformed SHA256',rid,path) + target=root/path + record={'root':rid,'path':path,'entry':entry,'data':None};records[rid+':'+path]=record + if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)): + add('PATH_SYMLINK','symlink file/ancestor aliases are forbidden',rid,path);continue + try: + info=target.stat() + if not stat.S_ISREG(info.st_mode): + add('FILE_MISSING','not a regular file',rid,path);continue + if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH): + add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue + data=target.read_bytes() + except FileNotFoundError: + add('FILE_MISSING','declared file is absent',rid,path);continue + except OSError as exc: + add('FILE_UNREADABLE',str(exc),rid,path);continue + record['data']=data;scanned_count+=1 + if digest(data)!=entry.get('sha256'): + add('FILE_HASH','content differs from manifest pin',rid,path) + module_map=manifest.get('module_map') + if not isinstance(module_map,dict): + add('MANIFEST','module_map must be an object');module_map={} + for name, ref in module_map.items(): + if not isinstance(name,str) or not re.fullmatch(r'(lean|python):[^\s:]+',name) or not isinstance(ref,str) or ref not in records: + add('MODULE_ALIAS','module map points outside classified scope: '+str(name));continue + if records[ref]['entry'].get('kind') in {'documentation','data','binary_proof'}: + add('MODULE_ALIAS','module identity must point to actual classified source: '+name) + if records[ref]['entry'].get('module')!=name: + add('MODULE_ALIAS','module map alias does not equal target declared identity: '+name) + for ref, record in records.items(): + rid,path,entry=record['root'],record['path'],record['entry'] + owner=(rid,path);kind=entry['kind'];data=record['data'];suffix=Path(path).suffix.lower() + language=entry.get('language') + if kind=='project_lean': language='lean' + if kind in {'math_python','engineering_python'}: language='python' + source_like=suffix in SOURCE_EXTENSIONS or path.lower().endswith(('.lean.txt','.py.txt','.sh.txt','.js.txt')) + if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS): + add('SOURCE_CLASSIFICATION','source/proof object cannot be relabeled documentation/data',rid,path) + if kind=='binary_proof' and source_like: + add('SOURCE_CLASSIFICATION','source cannot be relabeled binary proof',rid,path) + if kind in {'project_lean','math_python','engineering_python'} and suffix not in ({'.lean'} if language=='lean' else {'.py','.pyi'}): + add('SOURCE_CLASSIFICATION','source kind does not match extension',rid,path) + if (kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)) and language not in {'lean','python'}: + add('LANGUAGE_GAP','source needs supported explicit lean/python classification',rid,path) + expected_language='lean' if path.lower().endswith(('.lean','.lean.txt')) else 'python' if path.lower().endswith(('.py','.pyi','.py.txt')) else None + if source_like and expected_language is None: + add('LANGUAGE_GAP','known source extension has no supported checker',rid,path) + if expected_language is not None and language is not None and language!=expected_language: + add('SOURCE_CLASSIFICATION','declared language disagrees with source extension',rid,path) + if language is not None and language not in {'lean','python'}: + add('LANGUAGE_GAP','unsupported language classification',rid,path) + if kind in RETAINED and (not isinstance(entry.get('expected_findings'),dict) or any(not isinstance(k,str) or type(v) is not int or v<1 for k,v in entry.get('expected_findings',{}).items())): + add('RETAINED_FINDING_MISMATCH','exact positive finding-count map required',rid,path) + if kind=='negative_fixture' and not nonempty(entry.get('fixture_purpose')): + add('NEGATIVE_FIXTURE','retained test purpose required',rid,path) + if kind=='quarantined_source': + q=entry.get('quarantine') + if not isinstance(q,dict) or set(q)!={'id','boundary','blocking_reason','owner','maintenance'} or any(not nonempty(q.get(k)) for k in ['id','boundary','blocking_reason']) or q.get('owner')!='none' or q.get('maintenance')!='zero': + add('QUARANTINE','exact id/boundary/blocking reason and terminal owner:none maintenance:zero required',rid,path) + if kind=='external_pinned' or 'pin' in entry: + pin=entry.get('pin') + if not isinstance(pin,dict) or set(pin)!={'revision','origin'} or not nonempty(pin.get('origin')) or not isinstance(pin.get('revision'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',pin['revision']) is None: + add('EXTERNAL_PIN','immutable 40/64 hex revision and nonempty origin required',rid,path) + if kind=='engineering_python': + review=binding(entry.get('nonmath_review'),owner,'nonmathematical review') + if not isinstance(review,dict) or set(review)!={'type','source_sha256','scope','reviewer','rationale'} or review.get('type')!='nonmathematical_review' or review.get('scope')!='nonmathematical_execution_only' or review.get('source_sha256')!=entry['sha256'] or not nonempty(review.get('reviewer')) or not nonempty(review.get('rationale')): + add('NONMATH_REVIEW','explicit hash-bound reviewed nonmathematical scope required',rid,path) + if kind=='binary_proof' or suffix in BINARY_EXTENSIONS: + bs=entry.get('bindings') + if not isinstance(bs,dict) or set(bs)!={'G2','G4'}: + add('BINARY_BINDING','binary proof requires exact G2/G4 bindings',rid,path) + else: + for gate,value in bs.items(): + proof=binding(value,owner,gate+' binary proof evidence') + if not isinstance(proof,dict) or proof.get('type')!='kernel_evidence' or proof.get('gate')!=gate or proof.get('subject_sha256')!=entry['sha256'] or proof.get('observed_status')!='PASS' or type(proof.get('exit_code')) is not int or proof.get('exit_code')!=0 or not isinstance(proof.get('command'),list) or not proof['command'] or not nonempty(proof.get('run_id')): + add('BINARY_BINDING','missing/stale/nonpassing '+gate+' subject evidence',rid,path) + if data is None: + continue + text=None + if kind!='binary_proof' and suffix not in BINARY_EXTENSIONS: + try: + text=data.decode('utf-8') + except UnicodeError: + add('FILE_ENCODING','nonbinary classified file is not strict UTF-8',rid,path);continue + if language in {'lean','python'}: + if text is None: + add('SOURCE_CLASSIFICATION','binary object cannot be declared Lean/Python source',rid,path);continue + module=entry.get('module') + if not isinstance(module,str) or not module.startswith(language+':') or module_map.get(module)!=ref: + add('MODULE_ALIAS','source module must have one exact registered identity',rid,path) + result=check_lean(text) if language=='lean' else check_python(text, kind!='engineering_python') + source_results[ref]=result + raw_findings=list(result['findings']) + if kind in RETAINED: + actual=dict(Counter(f['code'] for f in raw_findings)) + if actual!=entry.get('expected_findings'): + add('RETAINED_FINDING_MISMATCH','expected '+repr(entry.get('expected_findings'))+' actual '+repr(actual),rid,path) + for f in raw_findings: + retained_findings.append({'root':rid,'path':path,**f}) + else: + for f in raw_findings: + add(f['code'],f['detail'],rid,path,f['line']) + graph[ref]=[] + for imported in result['imports']: + if language=='python' and imported=='fractions' and kind=='math_python' and 'python:fractions' not in module_map: + continue # Explicit exact-arithmetic trust profile; G7 binds runtime/stdlib. + target=module_map.get(language+':'+imported) + if target not in records: + add('IMPORT_UNRESOLVED','unknown/unsupported dependency '+language+':'+imported,rid,path) + else: + graph[ref].append(target) + if kind=='math_python' and records[target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only source '+target,rid,path) + if language=='python': + parts=imported.split('.') + for i in range(1,len(parts)): + prefix=module_map.get('python:'+'.'.join(parts[:i])) + if prefix in records: + graph[ref].append(prefix) + for candidate in result.get('import_candidates',[]): + target=module_map.get('python:'+candidate) + if target in records: + graph[ref].append(target) + if language=='lean' and kind not in RETAINED: + annotations=entry.get('vacuity') + declarations=result['declarations'] + keys=[d['key'] for d in declarations] + if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys): + add('VACUITY_COVERAGE','annotation keys must exactly cover theorem/lemma/example source locations',rid,path) + annotations=annotations if isinstance(annotations,dict) else {} + for declaration in declarations: + key=declaration['key'];a=annotations.get(key) + if not isinstance(a,dict) or not isinstance(a.get('status'),str) or a.get('status') not in {'conditional','nonvacuous','vacuous'} or not nonempty(a.get('reason')): + add('VACUITY_ANNOTATION','required status/reason for '+key,rid,path,declaration['line']);continue + if set(a)-{'status','reason','premises','evidence'}: + add('VACUITY_ANNOTATION','unknown annotation keys for '+key,rid,path,declaration['line']) + if a['status']=='conditional' and (not isinstance(a.get('premises'),list) or any(not nonempty(p) for p in a['premises'])): + add('VACUITY_ANNOTATION','explicit premises list required for '+key,rid,path,declaration['line']) + if declaration['contradictions'] and a['status']!='vacuous': + add('VACUITY_CONTRADICTION','syntactic contradiction candidates require vacuous: '+key+': '+repr(declaration['contradictions']),rid,path,declaration['line']) + if a['status']=='nonvacuous': + certificate=binding(a.get('evidence'),owner,'nonvacuity certificate '+key) + if not isinstance(certificate,dict) or certificate.get('type')!='nonvacuity_certificate' or certificate.get('subject_sha256')!=entry['sha256'] or certificate.get('declaration')!=key or not nonempty(certificate.get('witness_description')): + add('VACUITY_EVIDENCE','content-bound nonvacuity witness certificate required for '+key,rid,path,declaration['line']) + observations.append({'root':rid,'path':path,'declaration':key,'status':a['status'],'contradiction_candidates':declaration['contradictions']}) + if entry.get('status_evidence') is not None: + if entry['status_evidence'] is not True: + add('STATUS_EVIDENCE','status_evidence must be true, never disable/skip',rid,path) + try: + s=strict_json(text) + except (ValueError,TypeError,RecursionError) as exc: + add('STATUS_EVIDENCE','invalid status JSON: '+str(exc),rid,path);continue + required={'schema_version','gate','observed_status','run_id','command','exit_code','inputs'} + if not isinstance(s,dict) or not required<=set(s) or set(s)-required-{'evidence'} or type(s.get('schema_version')) is not int or s.get('schema_version')!=1 or not isinstance(s.get('gate'),str) or s.get('gate') not in {'G'+str(i) for i in range(12)} or not isinstance(s.get('observed_status'),str) or s.get('observed_status') not in {'PASS','FAIL','NOT_RUN','ERROR','INACCESSIBLE'} or not nonempty(s.get('run_id')) or not isinstance(s.get('command'),list) or not s['command'] or any(not nonempty(c) for c in s['command']) or not isinstance(s.get('inputs'),dict) or not s['inputs']: + add('STATUS_EVIDENCE','invalid exact observed status schema',rid,path);continue + for input_ref,value in s['inputs'].items(): + target=records.get(input_ref) + if target is None or value!=target['entry'].get('sha256') or target['data'] is None or digest(target['data'])!=value: + add('STATUS_EVIDENCE','status input missing/stale: '+input_ref,rid,path) + if s['observed_status']=='NOT_RUN': + if s['exit_code'] is not None or 'evidence' in s: + add('STATUS_EVIDENCE','NOT_RUN cannot carry execution exit/evidence',rid,path) + else: + evidence=binding(s.get('evidence'),owner,'observed status receipt') + comparable={k:v for k,v in s.items() if k!='evidence'} + if json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':')) or type(s['exit_code']) is not int or (s['observed_status']=='PASS' and s['exit_code']!=0) or (s['observed_status']=='FAIL' and s['exit_code']==0): + add('STATUS_EVIDENCE','status differs from bound observed execution receipt',rid,path) + for start in sorted(graph): + if records[start]['entry']['kind'] in RETAINED: + continue + seen,pending=set(),list(graph[start]) + while pending: + target=pending.pop() + if target in seen: + continue + seen.add(target) + if records[target]['entry']['kind'] in RETAINED: + add('QUARANTINE_IMPORT','closed source depends on isolated source '+target,records[start]['root'],records[start]['path']) + pending.extend(graph.get(target,[])) + findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + retained_findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + manifest_bytes=json.dumps(manifest,sort_keys=True,separators=(',',':'),ensure_ascii=False).encode() + inventories={rid:digest(json.dumps(sorted(r['tracked_files']),ensure_ascii=False,separators=(',',':')).encode()) for rid,r in roots.items() if isinstance(r.get('tracked_files'),list) and all(isinstance(p,str) for p in r['tracked_files'])} + obligations=[{'gate':g,'required_work':work} for g,work in [ + ('G2','All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'), + ('G3','Actual Lean build and no sorry warnings; source scanning does not execute Lean.'), + ('G4','Kernel recheck every closed declaration and all bound binary proof objects.'), + ('G5','Execute retained regression tests; source profile does not establish runtime success or historical test retention.'), + ('G7','Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'), + ('G8','Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'), + ('G10','Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.')]] + return {'schema_version':1,'result':'STATIC_PASS' if not findings else 'FAIL','claim':'bounded static rules only; not CBZ-0 or mathematical proof closure', + 'manifest_sha256':digest(manifest_bytes),'inventory_sha256':inventories,'classified_count':classified_count, + 'scanned_count':scanned_count,'retained_count':len(retained_findings),'findings':findings, + 'fatal_gaps':[f for f in findings if f['code'].endswith('_GAP') or f['code'] in {'MANIFEST','SCOPE_CLASSIFICATION','CLASSIFICATION','FILE_MISSING','FILE_UNREADABLE','IMPORT_UNRESOLVED','EVIDENCE_BINDING'}], + 'retained_findings':retained_findings,'vacuity_observations':observations,'remaining_obligations':obligations, + 'files':[{'root':r['root'],'path':r['path'],'kind':r['entry']['kind'],'expected_sha256':r['entry']['sha256'],'actual_sha256':digest(r['data']) if r['data'] is not None else None} for _,r in sorted(records.items())]} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + sub=parser.add_subparsers(dest='command',required=True) + p=sub.add_parser('audit',help='audit exact controller-supplied tracked scope') + p.add_argument('--manifest',required=True,type=Path) + p.add_argument('--output',type=Path,help='also write deterministic report JSON') + args=parser.parse_args(argv) + try: + raw=args.manifest.read_bytes() + manifest=strict_json(raw.decode('utf-8')) + report=audit(manifest) + report['manifest_file_sha256']=digest(raw) + code=0 if report['result']=='STATIC_PASS' else 1 + except (OSError,ValueError,UnicodeError,RecursionError) as exc: + report={'schema_version':1,'result':'INPUT_ERROR','findings':[{'code':'INPUT','detail':str(exc)}]};code=2 + encoded=json.dumps(report,sort_keys=True,indent=2,ensure_ascii=False)+'\n' + if args.output: + try: + args.output.write_text(encoded,encoding='utf-8') + except OSError as exc: + report={'schema_version':1,'result':'OUTPUT_ERROR','findings':[{'code':'OUTPUT','detail':str(exc)}]} + encoded=json.dumps(report,sort_keys=True,indent=2)+'\n';code=3 + sys.stdout.write(encoded) + return code + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/canonical_lean.py b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/canonical_lean.py new file mode 100644 index 000000000..0a113896a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/canonical_lean.py @@ -0,0 +1,476 @@ +#!/usr/bin/env python3 +"""Layer A textual scanner for Lean 4 sources (CBZ-0 gate G1). + +What it certifies, exactly: + For every scanned ``.lean`` file it reports each *code* token (outside + comments, string literals and char literals) that names a Layer A hazard: + + violation tokens (gate-failing in production context) + A1 placeholders : sorry, admit, sorryAx, admitGoal, mkSorry + A2 trust holes : axiom (declaration keyword), native_decide, + ofReduceBool, ofReduceNat, trustCompiler, + skipKernelTC (kernel-check bypass option), + addDeclWithoutChecking, and the ``decide`` options + ``+native`` / ``native := true`` + review tokens (reported, never gate-failing on their own) + A3 float : Float, Float32 + A2 compiled code: unsafe, implemented_by, extern + A1 tactic stop : ``stop`` as the first token on its line + + ``sorry``/``admit``/``axiom``/``native_decide``/``Float``/``Float32``/ + ``unsafe``/``stop`` match only as a whole undotted identifier; the other + violation tokens also match as the last component of a dotted name + (``Lean.ofReduceBool``, ``debug.skipKernelTC``), including an escaped + component (``Lean.«ofReduceBool»`` and ``«sorryAx»`` name the same + constants). An escaped keyword such as ``«sorry»`` is an ordinary + identifier, not the keyword, and is not flagged. + +Fail-closed: a string, block comment, raw string, interpolated string or +``«`` name left unterminated at end of file is reported as an ``error`` +finding, which fails the run like a violation, because the rest of the +file cannot be lexed reliably. + +What it does NOT certify: + * That a file compiles, or that no placeholder arises through + metaprogramming that never spells a listed token. Gates G2-G4 + (``#print axioms`` / kernel re-check) close that gap; this scanner is a + necessary, not sufficient, condition. + * Anything about non-Lean files (Python bounds are a separate gate). + +Lexing follows Lean 4: ``--`` line comments; nested ``/- -/`` block comments +(including ``/--`` and ``/-!``); ``"..."`` strings with backslash escapes; +interpolated strings (``s!"..{code}.."``, ``m!``, ``f!``) whose ``{}`` +regions are lexed as code; raw strings ``r"..."`` / ``r#"..."#``; char +literals; and ``«...»`` escaped identifiers. + +Standard library only. No floating point is used in any decision. + +Usage: + layer_a_scan.py PATH... scan files/directories + layer_a_scan.py --git REPO --rev REV scan every .lean blob in a git tree +Options: + --json FILE write all findings as JSON + --fail-on CTX comma list of contexts whose violations fail the run + (default: production). Use "all" for every context. +Exit status: 0 = no failing violation, 1 = failing violation, 2 = usage/IO. +""" +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys +import unicodedata + +VIOLATION_EXACT = { + "sorry": "A1", + "admit": "A1", + "axiom": "A2", + "native_decide": "A2", +} +VIOLATION_COMPONENT = { + "sorryAx": "A1", + "admitGoal": "A1", + "mkSorry": "A1", + "ofReduceBool": "A2", + "ofReduceNat": "A2", + "trustCompiler": "A2", + "skipKernelTC": "A2", + "addDeclWithoutChecking": "A2", +} +REVIEW_EXACT = { + "Float": "A3", + "Float32": "A3", + "unsafe": "A2", +} +REVIEW_COMPONENT = { + "implemented_by": "A2", + "extern": "A2", +} +LINE_START_REVIEW = {"stop": "A1"} + +INTERP_PREFIXES = {"s!", "m!", "f!"} +# ``decide +native`` and ``native := true`` select compiler evaluation, i.e. +# ofReduceBool. ``native`` after a ``+`` is flagged even with a space between +# (safe direction: ``x + native`` is a false positive, never a miss). +_NATIVE_TRUE = re.compile(r"\s*:=\s*true(?![A-Za-z0-9_'!?])") +_EXCLUDED_LETTERS = {"λ", "Π", "Σ"} +_CHAR_LIT = re.compile(r"'(?:\\(?:u\{[0-9a-fA-F]+\}|x[0-9a-fA-F]{2}|.)|[^\\'\n])'") + + +def _is_letter(ch: str) -> bool: + if ch in _EXCLUDED_LETTERS: + return False + if ch.isascii(): + return ch.isalpha() + cat = unicodedata.category(ch) + if cat.startswith("L"): + return True + o = ord(ch) + # Letter-like symbols and Greek/Coptic, as Lean's isLetterLike. + return (0x3B1 <= o <= 0x3C9 and o != 0x3BB) or (0x391 <= o <= 0x3A9 and o not in (0x3A0, 0x3A3)) \ + or 0x3CA <= o <= 0x3FB or 0x1F00 <= o <= 0x1FFE or 0x2100 <= o <= 0x214F \ + or 0x1D49C <= o <= 0x1D59F + + +def _is_subscript(ch: str) -> bool: + o = ord(ch) + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A + + +def _id_start(ch: str) -> bool: + return ch == "_" or _is_letter(ch) + + +def _id_rest(ch: str) -> bool: + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or ch.isdigit() \ + or _is_letter(ch) or _is_subscript(ch) + + +def lex_tokens(text: str, errors: list | None = None): + """Yield (name, line, col, line_start, plus_before, follow) per code identifier. + + ``name`` is the full dotted identifier text; an escaped ``«...»`` + component becomes ``\x00`` plus its text (inner dots as ``\x01``), so it + matches constant names but never a keyword. ``plus_before`` says the + identifier follows a ``+`` on its line; ``follow`` is the text after it. + Unterminated constructs are appended to ``errors`` as (line, col, kind). + + Modes are kept on an explicit stack: a ``code`` frame (with a brace + depth when it is an interpolation region) or an ``istr`` frame (the body + of an interpolated string, where ``{`` opens a nested code region). + """ + i = 0 + n = len(text) + line = 1 + col = 1 + line_has_token = False + stack: list[list] = [["code", None]] + if errors is None: + errors = [] + + def advance(k: int): + nonlocal i, line, col, line_has_token + for _ in range(k): + if i >= n: + return + if text[i] == "\n": + line += 1 + col = 1 + line_has_token = False + else: + col += 1 + i += 1 + + def read_ident_tail(parts: list[str]): + # dotted continuation: .ident or .«escaped» + while i < n and text[i] == "." and i + 1 < n and (_id_start(text[i + 1]) or text[i + 1] == "«"): + advance(1) + if text[i] == "«": + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + return + inner = text[i + 1:j] + advance(j + 1 - i) + parts.append("\x00" + inner.replace(".", "\x01")) + else: + s2 = i + while i < n and _id_rest(text[i]): + advance(1) + parts.append(text[s2:i]) + + while i < n: + frame = stack[-1] + c = text[i] + if frame[0] == "istr": + if c == "\\": + advance(2) + elif c == '"': + advance(1) + stack.pop() + elif c == "{": + advance(1) + stack.append(["code", 0]) + else: + advance(1) + continue + # ---- code mode + if c == "-" and text.startswith("--", i): + while i < n and text[i] != "\n": + advance(1) + continue + if c == "/" and text.startswith("/-", i): + start = (line, col) + depth = 0 + while i < n: + if text.startswith("/-", i): + depth += 1 + advance(2) + elif text.startswith("-/", i): + depth -= 1 + advance(2) + if depth == 0: + break + else: + advance(1) + if depth: + errors.append(start + ("unterminated_comment",)) + continue + if frame[1] is not None and c == "{": + frame[1] += 1 + advance(1) + continue + if frame[1] is not None and c == "}": + advance(1) + if frame[1] == 0: + stack.pop() # back to the interpolated string body + else: + frame[1] -= 1 + continue + if c == '"': + start = (line, col) + advance(1) + closed = False + while i < n: + cc = text[i] + if cc == "\\": + advance(2) + continue + advance(1) + if cc == '"': + closed = True + break + if not closed: + errors.append(start + ("unterminated_string",)) + line_has_token = True + continue + if c == "'": + m = _CHAR_LIT.match(text, i) + advance(m.end() - i if m else 1) + line_has_token = True + continue + if c == "«": + start_line, start_col, start_first = line, col, not line_has_token + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + break + inner = text[i + 1:j] + advance(j + 1 - i) + parts = ["\x00" + inner.replace(".", "\x01")] + read_ident_tail(parts) + line_has_token = True + yield ".".join(parts), start_line, start_col, start_first, False, text[i:i + 40] + continue + if _id_start(c): + start_line, start_col, start_first = line, col, not line_has_token + s = i + while i < n and _id_rest(text[i]): + advance(1) + word = text[s:i] + if word == "r" and i < n and text[i] in '"#': + k = i + while k < n and text[k] == "#": + k += 1 + if k < n and text[k] == '"': + close = '"' + "#" * (k - i) + end = text.find(close, k + 1) + if end < 0: + errors.append((start_line, start_col, "unterminated_raw_string")) + end = n if end < 0 else end + len(close) + advance(end - i) + line_has_token = True + continue + if word in INTERP_PREFIXES and i < n and text[i] == '"': + advance(1) + stack.append(["istr", start_line, start_col]) + line_has_token = True + continue + parts = [word] + read_ident_tail(parts) + line_has_token = True + k = s - 1 + while k >= 0 and text[k] in " \t": + k -= 1 + yield ".".join(parts), start_line, start_col, start_first, k >= 0 and text[k] == "+", text[i:i + 40] + continue + if c.isdigit(): + while i < n and (text[i].isalnum() or text[i] in "._"): + advance(1) + line_has_token = True + continue + if not c.isspace(): + line_has_token = True + advance(1) + for frame in stack: + if frame[0] == "istr": + errors.append((frame[1], frame[2], "unterminated_interpolated_string")) + break + + +def classify_token(name: str, line_start: bool, plus_before: bool = False, follow: str = ""): + """Return (kind, layer, severity) or None.""" + last = name.split(".")[-1] + if last.startswith("\x00"): + # escaped component: the same constant name, never a keyword + last = last[1:] + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + if name == "native" and (plus_before or _NATIVE_TRUE.match(follow)): + return "native", "A2", "violation" + if "." not in name: + if name in VIOLATION_EXACT: + return name, VIOLATION_EXACT[name], "violation" + if name in REVIEW_EXACT: + return name, REVIEW_EXACT[name], "review" + if line_start and name in LINE_START_REVIEW: + return name, LINE_START_REVIEW[name], "review" + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + + +_EVIDENCE_SEG = re.compile(r"(^|/)(raw|runs|archive|attempts)(/|$)|-evidence(/|$)") +_CONTROL_NAME = re.compile(r"(?i)(control|negative|mutation|mutant|counterproof|falsifier)") + + +def context_of(path: str) -> str: + p = path.replace("\\", "/") + if _EVIDENCE_SEG.search(p): + return "evidence_copy" + if _CONTROL_NAME.search(os.path.basename(p)): + return "control" + return "production" + + +def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: + out = [] + ctx = context_of(path) + errors: list = [] + found = [] + for name, ln, cl, first, plus, follow in lex_tokens(text, errors): + r = classify_token(name, first, plus, follow) + if r is not None: + found.append((ln, cl, name.replace("\x00", "«").replace("\x01", "."), r)) + for ln, cl, kind in errors: + found.append((ln, cl, "", (kind, "A", "error"))) + for ln, cl, token, (kind, layer, sev) in sorted(found, key=lambda x: (x[0], x[1])): + f = {"path": path, "line": ln, "col": cl, "token": token, "kind": kind, + "layer": layer, "severity": sev, "context": ctx} + if blob: + f["blob"] = blob + out.append(f) + return out + + +def iter_fs(paths): + for p in paths: + if os.path.isdir(p): + for root, dirs, files in os.walk(p): + dirs[:] = sorted(d for d in dirs if d != ".git") + for fn in sorted(files): + if fn.endswith(".lean"): + full = os.path.join(root, fn) + yield os.path.relpath(full, p), full + elif p.endswith(".lean"): + yield p, p + + +def git_lean_blobs(repo: str, rev: str): + env = {k: v for k, v in os.environ.items() if not k.startswith("GIT_")} + ls = subprocess.run(["git", "-C", repo, "ls-tree", "-r", "-z", rev], + check=True, capture_output=True, env=env).stdout + entries = [] + for rec in ls.split(b"\0"): + if not rec: + continue + meta, path = rec.split(b"\t", 1) + mode, typ, sha = meta.split() + p = path.decode("utf-8", "surrogateescape") + if typ == b"blob" and p.endswith(".lean"): + entries.append((p, sha.decode())) + if not entries: + return + proc = subprocess.Popen(["git", "-C", repo, "cat-file", "--batch"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, env=env) + try: + for p, sha in entries: + proc.stdin.write(sha.encode() + b"\n") + proc.stdin.flush() + header = proc.stdout.readline().split() + size = int(header[2]) + data = proc.stdout.read(size) + proc.stdout.read(1) + yield p, sha, data + finally: + proc.stdin.close() + proc.wait() + + +def main(argv=None) -> int: + ap = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + ap.add_argument("paths", nargs="*") + ap.add_argument("--git", metavar="REPO") + ap.add_argument("--rev", default="HEAD") + ap.add_argument("--json", metavar="FILE") + ap.add_argument("--fail-on", default="production") + args = ap.parse_args(argv) + if not args.paths and not args.git: + ap.print_usage(sys.stderr) + return 2 + findings: list[dict] = [] + files = 0 + undecodable = [] + try: + if args.git: + for p, sha, data in git_lean_blobs(args.git, args.rev): + files += 1 + try: + text = data.decode("utf-8") + except UnicodeDecodeError: + undecodable.append(p) + continue + findings += scan_text(text, p, sha) + for rel, full in iter_fs(args.paths): + files += 1 + try: + with open(full, encoding="utf-8") as fh: + text = fh.read() + except UnicodeDecodeError: + undecodable.append(rel) + continue + findings += scan_text(text, rel) + except (OSError, subprocess.CalledProcessError) as exc: + print(f"layer_a_scan: error: {exc}", file=sys.stderr) + return 2 + fail_ctx = None if args.fail_on == "all" else set(args.fail_on.split(",")) + failing = [f for f in findings if f["severity"] in ("violation", "error") + and (fail_ctx is None or f["context"] in fail_ctx)] + summary = {"files": files, "findings": len(findings), + "violations": sum(f["severity"] == "violation" for f in findings), + "errors": sum(f["severity"] == "error" for f in findings), + "failing": len(failing), "undecodable": undecodable} + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"summary": summary, "findings": findings}, fh, indent=1, ensure_ascii=False) + for f in failing: + print(f"{f['path']}:{f['line']}:{f['col']}: {f['layer']} {f['kind']} ({f['context']})") + print(json.dumps(summary, ensure_ascii=False)) + # Undecodable files cannot be certified clean: fail closed. + if undecodable: + return 1 + return 1 if failing else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/mutation_test.py new file mode 100644 index 000000000..bc61f2518 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/mutation_test.py @@ -0,0 +1,161 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"if ch in _EXCLUDED_LETTERS:","if False:"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"error('unsupported or unterminated character literal'); advance(i + 1)","advance(i + 1)"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def run_one(name, filename, transform, output_dir): + """Execute the unchanged behavioral suite against a temporary actual checker mutation.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + (root/filename).write_text(changed,encoding='utf-8') + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(root/'tests'),'-p','test_auditor.py','-v'] + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + try: + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + except subprocess.TimeoutExpired as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + tests,failures,errors=parse_test_result(output,p.returncode) + if p.returncode==0 and tests: + outcome='SURVIVED' + elif p.returncode!=0 and tests and failures and not errors: + outcome='KILLED' + else: + outcome='ERROR' + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode,'tests_run':tests, + 'assertion_failures':failures,'errors':errors,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(HERE/'tests'),'-v'] + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + tests,failures,errors=parse_test_result(baseline.stdout,baseline.returncode) + results=[] + if baseline.returncode==0 and tests: + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline.returncode==0 and tests>0 and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/source_checks.py b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/source_checks.py new file mode 100644 index 000000000..a48224f0f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/source_checks.py @@ -0,0 +1,304 @@ +"""Bounded lexical/AST checks. See SPEC.md for claims, trust profile and nonclaims.""" +import ast +from dataclasses import dataclass +import re + +from canonical_lean import lex_tokens as canonical_identifier_tokens, _CHAR_LIT as canonical_character_literal + + +@dataclass(frozen=True) +class Token: + text: str + line: int + column: int + quoted: bool = False + + +def finding(code, detail, line=0): + return {'code': code, 'detail': detail, 'line': line} + + +def lean_tokens(text): + """Tokenize source without interpreting syntax, retaining accurate source locations.""" + tokens, gaps = [], [] + i, line, column, n = 0, 1, 0, len(text) + + def advance(end): + nonlocal i, line, column + segment = text[i:end] + count = segment.count('\n') + column = len(segment.rsplit('\n', 1)[-1]) if count else column + len(segment) + line += count + i = end + + def error(detail): + gaps.append(finding('LEAN_LEXICAL_GAP', detail, line)) + + while i < n: + c = text[i] + if c.isspace(): + advance(i + 1) + elif text.startswith('--', i): + end = text.find('\n', i + 2) + advance(n if end < 0 else end) + elif text.startswith('/-', i): + j, depth = i + 2, 1 + while j < n and depth: + if text.startswith('/-', j): + depth += 1; j += 2 + elif text.startswith('-/', j): + depth -= 1; j += 2 + else: + j += 1 + if depth: + error('unterminated nested block comment') + advance(j) + elif (raw := re.match(r'r(#+)?"', text[i:])) is not None: + marker = '"' + (raw.group(1) or '') + end = text.find(marker, i + raw.end()) + if end < 0: + error('unterminated raw string literal'); advance(n) + else: + advance(end + len(marker)) + elif c == '"': + if i > 0 and text[i - 1] == '!': + error('interpolated string can contain executable terms; requires elaborated certification') + j = i + 1 + while j < n: + if text[j] == '\\': + j += 2 + elif text[j] == '"': + break + else: + j += 1 + if j >= n: + error('unterminated string literal'); advance(n) + else: + advance(j + 1) + elif c == '«': + end = text.find('»', i + 1) + if end < 0: + error('unterminated escaped identifier'); advance(n) + else: + tokens.append(Token(text[i + 1:end], line, column, True)); advance(end + 1) + elif c == "'": + match = canonical_character_literal.match(text, i) + if match is not None: + advance(match.end()) + else: + error('unsupported or unterminated character literal'); advance(i + 1) + elif c.isalpha() or c == '_' or c.isdigit(): + j = i + 1 + while j < n and (text[j].isalnum() or text[j] in "_'!?" or (text[j] == '.' and j + 1 < n and (text[j + 1].isalpha() or text[j + 1] == '_'))): + j += 1 + tokens.append(Token(text[i:j], line, column)); advance(j) + else: + pair = text[i:i + 2] + if pair in {':=', '=>', '->', '<=', '>=', '!=', '==', '<-'}: + tokens.append(Token(pair, line, column)); advance(i + 2) + else: + tokens.append(Token(c, line, column)); advance(i + 1) + return tokens, gaps + + +def _contradictions(header): + """Detect only declared source shapes; this does not interpret Lean propositions.""" + hypotheses = [] + stack = [] + for i, t in enumerate(header): + if t in {'(', '{', '['}: + stack.append((i, t)) + elif t in {')', '}', ']'} and stack: + start, opening = stack.pop() + interior = header[start + 1:i] + depth, colon = 0, None + for j, word in enumerate(interior): + if word in {'(', '{', '['}: depth += 1 + if word in {')', '}', ']'}: depth -= 1 + if word == ':' and depth == 0: + colon = j; break + if colon is not None: + hypotheses.append(tuple(interior[colon + 1:])) + for i, t in enumerate(header[:-1]): + if t == 'False' and header[i + 1] in {'→', '->'}: + hypotheses.append(('False',)) + candidates = [] + for h in hypotheses: + if h in {('False',), ('Not', 'True'), ('¬', 'True')}: + candidates.append('explicit false hypothesis: ' + ' '.join(h)) + if len(h) == 3 and h[0] == h[2] and h[1] in {'<', '≠', '!='}: + candidates.append('self-strict/disequality hypothesis: ' + ' '.join(h)) + if len(h) == 3 and re.fullmatch(r'[0-9]+',h[0]) and re.fullmatch(r'[0-9]+',h[2]) and h[1] == '=' and int(h[0]) != int(h[2]): + candidates.append('incompatible literal equality candidate: ' + ' '.join(h)) + positive = h[1:] if h and h[0] in {'¬', 'Not'} else None + if positive and positive in hypotheses: + candidates.append('opposing hypotheses: ' + ' '.join(positive)) + return sorted(set(candidates)), [' '.join(h) for h in hypotheses] + + +def check_lean(text): + tokens, findings = lean_tokens(text) + imports, declarations = [], [] + placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'} + native = {'native_decide', 'native', 'ofReduceBool', 'ofReduceNat', 'ofReduceInt', 'trustCompiler', 'skipKernelTC'} + kernel_bypass = {'addDeclWithoutChecking'} + expansion = {'macro', 'macro_rules', 'elab', 'elab_rules', 'syntax', 'unsafe', 'run_elab', 'initialize', 'builtin_initialize', 'implemented_by', 'extern'} + hazards = [] + for raw_name, line, column, first, plus_before, following in canonical_identifier_tokens(text): + parts = raw_name.split('.') + quoted = parts[-1].startswith('\x00') + name = '.'.join(part.removeprefix('\x00').replace('\x01', '.') for part in parts) + hazards.append(Token(name, line, column - 1, quoted)) + for token in hazards: + word = token.text + tail = word.rsplit('.', 1)[-1] + if tail in placeholders and (not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}): + findings.append(finding('LEAN_PLACEHOLDER', word, token.line)) + if tail in {'axiom', 'constant', 'constants'}: + findings.append(finding('LEAN_AXIOM', 'owned/new axiom declaration or reference requires refusal: ' + word, token.line)) + if tail in native: + findings.append(finding('LEAN_NATIVE', 'compiler/native trust escape: ' + word, token.line)) + if tail in kernel_bypass: + findings.append(finding('LEAN_KERNEL_BYPASS', 'unchecked environment declaration insertion: ' + word, token.line)) + if tail in expansion: + findings.append(finding('LEAN_EXPANSION_GAP', 'requires G2/G4 expanded environment certificate: ' + word, token.line)) + if tail in {'Float','Float32'}: + findings.append(finding('LEAN_FLOAT_REVIEW_GAP', 'floating-point use requires a relevant exact mathematical/nonmathematical certificate', token.line)) + for i, token in enumerate(tokens): + word = token.text + if word == 'import': + j = i + 1 + while j < len(tokens): + t = tokens[j] + if t.line > token.line and t.column == 0: + break + if t.quoted or not re.fullmatch(r"[^\W\d][\w'!?]*(?:\.[^\W\d][\w'!?]*)*", t.text, re.UNICODE): + findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line)) + break + imports.append(t.text); j += 1 + if j == i + 1: + findings.append(finding('LEAN_IMPORT_GAP', 'missing or unsupported import syntax', token.line)) + if word in {'theorem', 'lemma', 'example'}: + if word == 'example': + name, j = 'example', i + 1 + else: + if i + 1 >= len(tokens): + findings.append(finding('LEAN_DECLARATION_GAP', 'missing declaration name', token.line)); continue + name, j = tokens[i + 1].text, i + 2 + header, depth = [], 0 + while j < len(tokens): + t = tokens[j].text + if depth == 0 and t in {':=', 'where'}: + break + if depth == 0 and t in {'theorem', 'lemma', 'example'}: + break + if t in {'(', '{', '['}: depth += 1 + if t in {')', '}', ']'}: depth -= 1 + header.append(t); j += 1 + if j == len(tokens) or depth != 0: + findings.append(finding('LEAN_DECLARATION_GAP', 'unsupported/incomplete theorem header', token.line)) + contradictions, hypotheses = _contradictions(header) + declarations.append({'key': name + '@' + str(token.line), 'line': token.line, + 'contradictions': contradictions, 'hypotheses': hypotheses}) + return {'findings': findings, 'imports': imports, 'declarations': declarations} + + +EXACT_BUILTINS = frozenset({'abs', 'all', 'any', 'bool', 'dict', 'enumerate', 'int', 'len', 'list', 'max', + 'min', 'range', 'reversed', 'set', 'sorted', 'sum', 'tuple', 'zip', 'frozenset'}) +ALLOWED_AST = frozenset({ + 'Module','ImportFrom','alias','FunctionDef','arguments','arg','Return','Assign','AnnAssign','AugAssign', + 'Expr','Constant','Name','Load','Store','Del','List','Tuple','Set','Dict','Subscript','Slice', + 'BinOp','UnaryOp','BoolOp','Compare','If','IfExp','For','Break','Continue','Pass','Assert', + 'ListComp','SetComp','DictComp','GeneratorExp','comprehension','Call','keyword','Attribute', + 'Add','Sub','Mult','FloorDiv','Mod','Pow','USub','UAdd','Not','Invert','And','Or', + 'Eq','NotEq','Lt','LtE','Gt','GtE','Is','IsNot','In','NotIn','BitAnd','BitOr','BitXor','LShift','RShift', + 'Div','Import', 'Lambda', 'ClassDef', 'AsyncFunctionDef', +}) + + +def check_python(text, mathematical=True): + findings, imports, import_candidates = [], [], [] + try: + tree = ast.parse(text) + except (SyntaxError, ValueError, RecursionError) as exc: + return {'findings': [finding('PY_SYNTAX', str(exc), getattr(exc, 'lineno', 0) or 0)], 'imports': []} + aliases = {'Fraction'} + local_functions = {n.name for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)} + dynamic_aliases = {'__import__', 'eval', 'exec', 'compile', 'globals', 'locals', '__builtins__', 'vars', 'getattr', 'setattr', 'delattr'} + for node in ast.walk(tree): + if isinstance(node, ast.Import): + for alias in node.names: + imports.append(alias.name) + if alias.name in {'importlib', 'builtins'}: + dynamic_aliases.add(alias.asname or alias.name) + elif isinstance(node, ast.ImportFrom): + name = '.' * node.level + (node.module or '') + imports.append(name) + import_candidates.extend(name + '.' + alias.name for alias in node.names if alias.name != '*') + if node.module == 'fractions' and node.level == 0: + for alias in node.names: + if alias.name == 'Fraction': + aliases.add(alias.asname or alias.name) + if node.module in {'importlib', 'builtins'}: + for alias in node.names: + dynamic_aliases.add(alias.asname or alias.name) + allowed_calls = EXACT_BUILTINS | aliases | local_functions + protected = EXACT_BUILTINS | aliases | local_functions | {'__builtins__'} + for node in ast.walk(tree): + line = getattr(node, 'lineno', 0) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in dynamic_aliases: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic executor/importer name requires dependency certifier: ' + node.id, line)) + if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}: + findings.append(finding('PY_DYNAMIC_IMPORT', 'reflective loader entrypoint requires dependency certifier: ' + node.attr, line)) + if isinstance(node, ast.ImportFrom) and (node.level or any(a.name == '*' for a in node.names)): + findings.append(finding('PY_IMPORT_GAP', 'relative/star import requires explicit dependency certifier', line)) + if isinstance(node, ast.Call): + name = node.func.id if isinstance(node.func, ast.Name) else None + dynamic = (name in dynamic_aliases or + isinstance(node.func, ast.Attribute) and + (node.func.attr in {'import_module','__import__','exec_module','load_module','find_spec','spec_from_file_location'} or + isinstance(node.func.value, ast.Name) and node.func.value.id in dynamic_aliases)) + if dynamic: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic execution/loading cannot establish closed dependency boundary', line)) + if not mathematical: + continue + name = type(node).__name__ + if name not in ALLOWED_AST or isinstance(node, (ast.Lambda, ast.ClassDef, ast.AsyncFunctionDef)): + findings.append(finding('PY_AST_GAP', 'unsupported exact-program AST node: ' + name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in {'float','complex','__builtins__'}: + findings.append(finding('PY_INEXACT', 'inexact/reflective value can escape through callbacks: ' + node.id, line)) + if isinstance(node, ast.alias) and node.asname in EXACT_BUILTINS: + findings.append(finding('PY_REBIND', 'import shadows exact builtin: ' + node.asname, line)) + if isinstance(node, ast.FunctionDef): + if node.decorator_list: + findings.append(finding('PY_AST_GAP', 'decorators can replace exact functions', line)) + if node.name in EXACT_BUILTINS | aliases | {'__builtins__'}: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.id, line)) + if isinstance(node, ast.arg) and node.arg in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic parameter: ' + node.arg, line)) + if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)): + findings.append(finding('PY_INEXACT', 'float/complex literal forbidden in mathematical program', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div): + findings.append(finding('PY_INEXACT', '/ may produce float; use Fraction(n,d)', line)) + if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow): + if not (isinstance(node.right, ast.Constant) and type(node.right.value) is int and node.right.value >= 0): + findings.append(finding('PY_INEXACT', '** requires nonnegative integer literal exponent', line)) + if isinstance(node, ast.Import): + findings.append(finding('PY_IMPORT_GAP', 'only from fractions import Fraction [as alias] is in the exact profile', line)) + if isinstance(node, ast.ImportFrom): + if node.module != 'fractions' or node.level or any(a.name != 'Fraction' for a in node.names): + findings.append(finding('PY_IMPORT_GAP', 'import outside exact fractions profile', line)) + if isinstance(node, ast.Call): + if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls: + findings.append(finding('PY_CALL_GAP', 'call is not a statically named exact builtin/Fraction/local function', line)) + if any(k.arg is None for k in node.keywords) or any(isinstance(a, ast.Starred) for a in node.args): + findings.append(finding('PY_CALL_GAP', 'dynamic argument expansion is outside exact profile', line)) + if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}: + findings.append(finding('PY_ATTRIBUTE_GAP', 'only exact numerator/denominator reads are supported', line)) + if isinstance(node, ast.Attribute) and not isinstance(node.ctx, ast.Load): + findings.append(finding('PY_ATTRIBUTE_GAP', 'attribute mutation is outside exact profile', line)) + if isinstance(node, ast.comprehension) and node.is_async: + findings.append(finding('PY_AST_GAP', 'async comprehension is outside exact profile', line)) + return {'findings': findings, 'imports': sorted(set(imports)), 'import_candidates': sorted(set(import_candidates))} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/tests/test_auditor.py new file mode 100644 index 000000000..7f8bbc80f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/tests/test_auditor.py @@ -0,0 +1,646 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_defined_reflective_loader_forms_fail_in_engineering_scope(self): + cases=["getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')", + "vars()['__builtins__']['__import__']('Q.bad')", + "f.__globals__['__builtins__']['__import__']('Q.bad')", + "().__class__.__base__.__subclasses__()"] + for source in cases: + with self.subTest(source=source): + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) + + def test_import_module_primes_and_identifier_suffixes_are_extracted_completely(self): + result=source_checks.check_lean("import Good Q.Bad' Q.Other! Q.Last?\n") + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) + self.assertEqual(result['findings'],[]) + + def test_unsupported_import_tail_is_a_gap_after_a_valid_prefix(self): + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good Q.«Bad»\n')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_bound_engineering_review_cannot_waive_defined_reflective_loader(self): + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-r','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py',"getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')",'engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'A nonmath review is not an import-isolation waiver'})) + e['nonmath_review']=self.bind('review.json') + r=self.runaudit() + self.assertEqual(r['result'],'FAIL',r) + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) + + def test_known_unsupported_source_suffix_cannot_claim_a_supported_language(self): + for path,language,text in [('bad.sh','lean','echo hello\n'),('bad.js','python','x=1\n')]: + with self.subTest(path=path): + self.add(path,text,'external_pinned',language=language,module=language+':Bad'+language, + **({'vacuity':{}} if language=='lean' else {}),pin={'revision':'a'*40,'origin':'fixture'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_retained_text_source_requires_language_then_a_registered_module(self): + e=self.add('Q.txt','theorem t : False := by sorry\n','quarantined_source',expected_findings={}, + quarantine={'id':'Q-t','boundary':'Q.txt','blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + e['language']='lean';e['expected_findings']={'LEAN_PLACEHOLDER':1} + self.assertIn('MODULE_ALIAS',self.codes()) + e['module']='lean:Q';self.m['module_map']['lean:Q']='r:Q.txt' + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_mapped_external_text_module_cannot_skip_supported_source_analysis(self): + self.add('fake.txt','Fraction=float','external_pinned',module='python:fractions', + pin={'revision':'a'*40,'origin':'fixture'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_primed_lean_module_after_valid_import_cannot_hide_quarantine(self): + self.add('Good.lean','def x := 1\n','project_lean',module='lean:Good',vacuity={}) + self.add("Q/Bad'.lean",'theorem t : False := by sorry\n','quarantined_source',language='lean',module="lean:Q.Bad'", + expected_findings={'LEAN_PLACEHOLDER':1},quarantine={'id':'Q-p','boundary':"Q/Bad'.lean",'blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.add('Closed.lean',"import Good Q.Bad'\n",'project_lean',module='lean:Closed',vacuity={}) + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_status_observation_binding_distinguishes_json_booleans_and_integers(self): + self.add('input.txt','input') + observed={'schema_version':True,'gate':'G5','observed_status':'PASS','run_id':'run-typed', + 'command':['fixture'],'exit_code':False,'inputs':{'r:input.txt':sha(b'input')}} + self.add('observation.json',json.dumps(observed),'data') + status={**observed,'schema_version':1,'exit_code':0,'evidence':self.bind('observation.json')} + self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/tests/test_mutation_runner.py new file mode 100644 index 000000000..ad04c013f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-import-literal-fix-source/tests/test_mutation_runner.py @@ -0,0 +1,44 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json new file mode 100644 index 000000000..7b62898cb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json @@ -0,0 +1,19 @@ +{ + "actual_repository_G1": "NOT_RUN", + "current_composed_receipt": "evidence/composed-admission.json", + "current_lexer_component_receipt": "evidence/lexer698-admission.json", + "current_method_inventory": 83, + "current_mutation_definitions": 57, + "current_tool_admission": "Composed finite scoped evidence; current lexer and lifecycle source reviews clear for their stated scopes", + "fresh_distinct_methods": 56, + "fresh_existing_harness_methods_per_mode": 3, + "fresh_mutants_per_mode": 19, + "fresh_new_lifecycle_methods_per_mode": 8, + "fresh_tests_per_mode": 45, + "historical_build_report": "evidence/pre-canonical698-publication/BUILD_REPORT.json", + "lexer_component_status": "PASS_AFFECTED_SCOPE", + "new_Lean_compiler_runs": 0, + "reused_historical_mutants": 38, + "reused_unchanged_auditor_methods": 27, + "schema_version": 1 +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/BUILD_REPORT.md new file mode 100644 index 000000000..fd7355016 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/BUILD_REPORT.md @@ -0,0 +1,9 @@ +# Layer A composed build report + +The successor fixes two actual manifest false greens using unchanged canonical Main#698 source and closes the separate mutation-grader lifecycle false-kill channel. The exact manifest cases and canonical error channel have retained RED/GREEN evidence. The grader requires an externally bound complete selected population and exact direct/body-subtest assertion events; lifecycle assertions, ambiguous outcomes and inconsistent receipts cannot kill. + +`evidence/composed-admission.json` binds the integrated sources and finite evidence. Current inventory is 83 methods: 72 auditor methods and 11 harness methods. Fresh affected verification covers 56 distinct methods per relevant mode: 45 lexer-dependent methods, 8 added lifecycle methods, and 3 retained harness methods whose runner dependency changed. The 27 unaffected auditor methods retain applicable historical evidence. No fresh whole83-method execution is claimed. + +The current 57 scanner mutation definitions compose 19 freshly affected current definitions and 38 unchanged historical results. The initial two redundant survivors, original definitions, adapted definitions and actual assertion-body traces remain explicit. Separate grader safeguard observations are 10+3+2 across source generations, including repeated duplicate-population controls warranted by changed receipt accounting; they are not 15 distinct final production mutants. Three dynamic actual-source controls select one original method each and observe identity SURVIVED, placeholder weakening KILLED and setup ImportError ERROR. + +The original 70/53 result and all earlier failures/generations remain exact historical evidence. Canonical698 compiler outputs were reused; no Lean/compiler/mathematical execution occurred. Both current same-provider source reviews are included. Actual repository G1 remains NOT_RUN; final federation scope, integration and G0–G11 are Root-owned. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/EVIDENCE_PATH_MAP.json b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/EVIDENCE_PATH_MAP.json new file mode 100644 index 000000000..fbcc64795 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/EVIDENCE_PATH_MAP.json @@ -0,0 +1,1685 @@ +{ + "current_composed_admission": { + "historical_grader_source": "evidence/pre-lifecycle-grader-source/mutation_test.py", + "lexer_receipt": "evidence/lexer698-admission.json", + "raw_receipts_unchanged": true, + "receipt": "evidence/composed-admission.json", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + }, + "execution_root": "/workspace/cbz-0/tools/layer_a", + "first_admission_repair_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/baseline.log", + "sha256": "035ee585bef84ad7694aa2eaadbd34cbb69e85a4f5dd56671a1ced85863fc7a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "sha256": "8fcf3b72380422db6b5dbc24114c708bba98ed5bb3b2f40c173f57f9b0bfaa3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "f699bd44c76d815cb331b1c67ff92fbdde95b741ba2338e7d952f2ec8c936982" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "sha256": "b02d37e8eb009e184ad2398d9dea0c0dbd84a7fb512d388cbf51b6f8c4578c28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "sha256": "5defe8453000b8075532997bdf321ecc97c4871fea2187ff9523779441248204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "sha256": "c44b8ff36fcf9feb5a4ad3aac21159291f9f33544d9587debc012a3daec8f674" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "a22a6ce8de8ff9ac0ffe2781555a56dad3635a1c8e9852d4f2469e3fc49ae773" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "37cb0baa00a05d3c8524bdb4499362b94fb9ac48e846d1cebbe249d3fae99d68" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "b93b1774c9399a062cf572fbe1bf8bb0e0e9a2df3d4629cd7a590d3587df7a7a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "68a620c649a7a5acf9589261cc8ff48bc3e73b67fe38c1a55bfb4d055c40f85b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "ed9b92ebbf11c7350cb5b4ac83a5d3f0bf3db1e4a8c2dd11c9e0279ca67a4743" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "sha256": "71f5eb78d9fff4be2bdc93d39db51e6bd9cc15ae7ad8cefb39d3ed5d914915b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "sha256": "4762ffe147d97bbda08d62aa931579f2d6417463b9fc6d5e06ecc39fcdeeb922" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "sha256": "ac0ab8b47cc6a1304f497972aba1671a8242adb132c3b34e6b91335af47e5c57" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "sha256": "4bbeea25373dece5b4d3acb87b2ca36516b921e9aa2147994e3c2c6ed06c96c0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "a9d0ffbdfa02fca8578b54427dd75fd94a88b013e94f31897c05797d9f627067" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "sha256": "e4d053e0c5e83d1a7ef4767825aecd97b9970b45ac43f89648ad14250cba84ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "sha256": "8a70910a54a4b99065070d00fae2a54759d31ad6c66b5037040bb1721550c56e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "sha256": "39b1b0e85321a969241316d9b44536461aeac1d4a7f8137882dbd26eceff1529" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "d1eaad42ab14edc5c389fdc23e6ed5be0487073c618b30aea97ee583203a5de2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "7cea846d09e9b5e3a108078b68c21d9bf99f6ff1d3f2a5b3a3d6f2ad1030e22f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "7bd49a32a49acf331192602ecb1bc6adad00d5781446b3e1abcba4130ca99e1d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "861755677918792b728691652430fc3882c5fa34f4e4e172038036f6799ef36f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "fe104794710a9fcc988ec00fd30cc2f0f673fec9f22096cbde41cd3bf82e0960" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "sha256": "c09ce61ced302a636076f019ec0820a0972948c9de56dae191dec7752b36b318" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "sha256": "d7a9b9db84d49725076312dda126f764663560b93d22d4fba450f0a5beb2dcaa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "sha256": "6a1648bad6a0fc958e611409335155e36f5fe755936aa5b1dd20b656511b3aa9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "sha256": "40b6d507b9249f404ee75226b35b504145dffc24c12f0eed0b198d6a2bd8dbb2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "sha256": "aa95a4514c4bc4d3174f8401b4ec749c1ff73e3de3cd77175f76af49b3f47c83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "sha256": "cb8b7c6e0250eef1abef6ac482caebb347501e7630469ebf5bcefe4689de6a77" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "sha256": "5288f1404f514632ece6db189a89c11f47b8923a632c89a8b2a7018c77cafb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "sha256": "157c43b9aba1c3467a6bd5860f28164ddc77ba029cb35121cdaa7cf0497ab44b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "1c789fe8b4a13549591f71cb087b9f7b9283001b80494edc6ac0c3e86a764f8a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "0a8e0c5cdafff4d949cd0dff33a1443f5e8b119406d81b045be591fa07d0d872" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "bbeeb6f474de7076efea92580432fd8c487cb6073fef42cb0c426ab7e5bb4500" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "sha256": "b8d8aa0c1d73aa157b9531dd820b6199d74e332dc598c709911767192c7abe15" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "sha256": "b19d8ae22eb35e50ac83d99534281453b209f0d8822fb1875318b5ee1b11fe5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "aefeb71cc2b4d1dc174bc033f2e98f16a23c1170ce95ccaba6df99094842a8f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "2e0a19abb5fd46ca0926eed2b1d558f816cc999f89ecf0a70906f32f56f11964" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "4eb19695c95a7b8b26ea9ab56b71687ffea97cd046534e27394dba21eaa51d71" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "2411d93838c00ee16f3f3b9458d36a1b203911a57e38784e855b669d080e6b11" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "7ecb303944dd9ebb226f2e492540f04969f595bd0bf678ab1eb6e2733eef5b9e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "42e30f674a6a0d4749ed93ffa21338848245cf7a289f2978a64dd5d08ceaf1ec" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "sha256": "b774c68691c606ca5b75e699055173eccf250fd1f314a22fb1a3cfe94e356cee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "sha256": "19f7934efc959b9d4cf3c9becd537c3a8789f129263e04d3645a643de9800542" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "sha256": "a44a0619efff83a4c27d539f707b940fd5fe3f32df15fd42ab9fdff4c48428c9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "ca0d569d629a4875d91dd6088440e804cbca9899027bc793d3c63f144faf5665" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f7bcb92174ec5093451ae2cc035a2f3da96f5b90aae938613701ffbe850c9df0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "sha256": "7da893fd6a392a8e9ff02db6f5eb34237dfad9ec6389b9a2f54c90a3344c0da9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "09044c473fa4937a26756325814c8b4adeb52f5d48359423983008d83a4398fa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "64e38a3a7c5ad7215a418da61cac96c666ebad04403c332327f20a5e3e847a69" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "sha256": "e658a77937a5c9e1921470bb7563caaa342294cd565d328b6a5e90d6db18abd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "sha256": "175c08d799121faabea62c0bb17adb40e426c984a631598a1e40ce3c0b438140" + } + ], + "receipt": "evidence/g0-admission-fix.json", + "receipt_sha256": "ffecf817f294d24ca1f80f21461e1023b6a19af67198f3def876205b886c6295", + "source_generation": "evidence/pre-import-literal-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", + "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_G0_027": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/baseline.log", + "sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5" + } + ], + "receipt": "evidence/g0-admission-final.json", + "receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "source_generation": "current contribution files", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", + "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_custody_limit": "Early development reused some baseline/per-mutant filenames. Exact original failed aggregate/stdout/survivor are retained; later receipt-specific final logs and all named source snapshots remain separate.", + "new_evidence_path_map": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-red.log", + "relative_publication_path": "evidence/lexer698-red.log", + "sha256": "b8664d7614517232ea7a2a04908ab3c3e425dc952f4a5ad082a701a15cb34d90" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-api-green.log", + "relative_publication_path": "evidence/lexer698-api-green.log", + "sha256": "e4737c6d01c5ffb433b79740c7ea81632ebcd2d50e7932c95d83e4ab4c5260de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-working-summary.json", + "relative_publication_path": "evidence/lexer698-working-summary.json", + "sha256": "0df50a3443ed8bacd4e8ba2be9156854efbd4126c9a391b834e08e03afec84a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-green.log", + "relative_publication_path": "evidence/lexer698-green.log", + "sha256": "1c8103210a0ee609cc3bb91f19dc6871f5df54b56981a297e9e1fc3d5611c4e5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-existing-harness-optimized.log", + "relative_publication_path": "evidence/lifecycle-existing-harness-optimized.log", + "sha256": "bc287a98102ba59909d3d67a5703831fec5be51e592c408a383878e3ba55e221" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-existing-harness-normal.log", + "relative_publication_path": "evidence/lifecycle-existing-harness-normal.log", + "sha256": "a5f843c113cd036dc1876267aeab55b0932c41e81bfa56bac123bda3880deb26" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-admission.json", + "relative_publication_path": "evidence/lexer698-admission.json", + "sha256": "0749e207efa46545ffbb2c1ad73fb1305dbf7b73f052deeaa02fb84bd1adb3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/existing-harness-current-receipt.json", + "relative_publication_path": "evidence/existing-harness-current-receipt.json", + "sha256": "3a84e01a6a38651a1c8c67e1d1a00f0a6bb763c73cfc5c1f762aef57329e4f0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/composed-admission.json", + "relative_publication_path": "evidence/composed-admission.json", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-api-red.log", + "relative_publication_path": "evidence/lexer698-api-red.log", + "sha256": "d595343251214e3e5b33c40e157d7122f3c241f3e8b07b364c3334137b9f8746" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json", + "sha256": "8437801dee1fcef4fc071f938cc903ab3952e371e281400daa53b671a9762783" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/mutation_test.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/mutation_test.py", + "sha256": "e6afa7a0ef6b3e5cd9ce3afb5a4784ecf5f3163c2ed36fef4a46a517f238b721" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/selected-test_auditor.py.txt", + "relative_publication_path": "evidence/lexer698-initial/selected-test_auditor.py.txt", + "sha256": "bc636f64401f4292815a5e654ab8c6244b93686c3cde20571a53d3d83edee0cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/receipt.json", + "relative_publication_path": "evidence/lexer698-initial/receipt.json", + "sha256": "bdb32009ad622a79727e034a076147145307bf309e6d7b13c129006457a815c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-checks/controller.py", + "relative_publication_path": "evidence/lexer698-checks/controller.py", + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/receipt.json", + "relative_publication_path": "evidence/lexer698-adapted-mutants/receipt.json", + "sha256": "dad914b198e0bbf44f6641001c35b5a0ed0c61811ce774bab3a6ea4e506850fd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-event-count.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-subtest-event-count.log", + "sha256": "7005456e8bebe2eb9b56e56a8c44b35aa4aaa2e914b51f1da9c2f6a1bb7a07d7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "sha256": "0e5b8339c21caa406ac6ba6049539620044f1bd4ea42f92ecc5be55916fbb5eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "sha256": "e9ad02a21799e314b5374d77cb6aef468e2561f92ee23d9b5e3fefe6e19df242" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-focused-tests.log", + "sha256": "c8fc90a471bfe549d6b953270b152b79adfc458b73efbff8669bfac1271c6590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "sha256": "5a158f43f99092a7307ac637eb76794198cf387d497369e80ad3a304dd06b363" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log", + "sha256": "58712533cadfadbff6d3a2428557f1f6aef65748d7480e33026c2cf16574d777" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-setup-false-kill.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-setup-false-kill.json", + "sha256": "cf2e097d01ebb3366c46efb70e23dbd8c1b3de80b1b83668d5d215b1a20a7dc4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/baseline-source-sha256.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/baseline-source-sha256.json", + "sha256": "2103e82406645987ef87649b63240a9ea3abe2f17288a22956724b4ec0b27770" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-external-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-external-population.log", + "sha256": "e6d91ece48ee4bbbbea511f7ff2a66ae1328b91a0020320fbca773a2b6354ace" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-synthetic-callback.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-synthetic-callback.log", + "sha256": "ab63922ceb0f3700dcbd2205834243ca8e096f29e172d5e3eaaaa050e7f2ceb4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log", + "sha256": "bed3024419f029375d02a4e93649d85fd533d54511aa1acc94b914d2ced2d429" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/evidence-index.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/evidence-index.json", + "sha256": "791859398241ca57c9baf6273c39b18d8843764e37212b38b9d2c12652af8ecf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-forged-subtest-events.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-forged-subtest-events.log", + "sha256": "991f5f3bf95c06c6b1ca4e7bd99a83c9d47a2a934fb282088b498b223dfd7ec5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-completed-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-completed-population.log", + "sha256": "b5e3f880d283ad9733985f7654fa9ba75f1f1b0eb90e1231cbd054be70496b83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "sha256": "5c625a02969576a12922738f68eb9b162714b040165e518f1b7e1c75ddd10c3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py", + "sha256": "75042321cd76b3513c14f5fc45393cb6bb5b86e1cedf75d4a289e25795cd151a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-dispatch-hook.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-dispatch-hook.log", + "sha256": "90fcd430201a339409a2736b39eec1361204c8002b3e040af47a75436bedf563" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/SOURCE_SHA256.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/SOURCE_SHA256.json", + "sha256": "7fa273830cd4b48b75db970c143596c07cc9898d19d6d26d0776f5200fb99b08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log", + "sha256": "a34f020aad6559eec1cd1018305c42d5f8008a7f0f5f0da24511bfde0286f45e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log", + "sha256": "ea7a8f0e5d1ea18680fc28c97b70d171471dafe21ae248bb96a44640f934f706" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/lose-method-decorators.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/lose-method-decorators.log", + "sha256": "7eab1e0a89fd174118f1188ee01510fe393bc5741bcb2130479d925978c62b2b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/benign-setup-assertion.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/benign-setup-assertion.log", + "sha256": "4fafb267b998b6df5671ea143ed5768aaaeec2795c4ca0b315e07439747b335b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py", + "sha256": "84ce26cdf0eb5a99a29ede88bc7745fa07901785c18895d1ed7f73b3008efa3d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-external-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-external-population.log", + "sha256": "d4c87cb11d5b3c7038b11b38516c25cca5ff75e52849a0a0e23dfe37429c1709" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/harness-source-controls-initial.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/harness-source-controls-initial.json", + "sha256": "0cbf90e399ae6c10c2774fcb4fff6eeadc107d1f4730d67a582a38249ba36976" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log", + "sha256": "be631658efceb86a65e35e072a91a4a179850e5c34ce3b71f935b2e5846ace46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-harness-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-harness-source-controls.py", + "sha256": "927db98e307dd03eb03685f806dd1e4009a4abb076c5d59b7fec3810b3a2df9f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-accounting-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-accounting-source-controls.json", + "sha256": "58ae0684468b4472f55287091517a4e5462bffedac079d0fa8d930b9c0d1e03f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-schema-requirement.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-schema-requirement.log", + "sha256": "f295efcaed50cf4319d7762d18e71a79bfbedd3a7d508332b8a72a578621148e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-boolean-counts.log", + "sha256": "f555fc30a591c4a7f46af27a7795a0a52e4775d7eb203c6a3fd0fdd8cf05a2d7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log", + "sha256": "975312c9d33754a0ee0df3679c7fa8529d5bcd552cc97118d57ba6c16b750df1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log", + "sha256": "819fb90ee586987ab069f952a62c4bcbf147ac0e1db23188fd1dd344576a1026" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-phase.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-subtest-phase.log", + "sha256": "49506c9b219a5cb5e0697b9a8b78b2d560ba090c22fc140e90cad562b2726a59" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log", + "sha256": "db9ab71d5d65e4726cdc57b3317baf222bb699dbf6177a762529a338940a2369" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/new-obligation-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/new-obligation-source-controls.json", + "sha256": "24627a65535cd182478a12796da4ee6927ceed8a93ca94be5af3c8c469046b0d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log", + "sha256": "3931e34a8b85b973a515c6fc2033147f82277924eafc0ea1387221735abdd3b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md", + "relative_publication_path": "evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md", + "sha256": "266b969941e35a1703ab0cf4c095f1a222eb5b9b1f3cafeb1142bbda4547b682" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-focused-tests.log", + "sha256": "70d28a9ffaf56e2766f01bffe94ff146a70d09100fea66c75af86f25e6eefe89" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-assertion-event-provenance.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-assertion-event-provenance.log", + "sha256": "15520d4df9d87acd07e812b17011fc9d4f3a83314ba7b7412b251a24e1890ed2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-focused-tests.log", + "sha256": "2478a211506f7fa0ed64e3a42a19cfe6418e48860382b3e4d392ecb8eacbede7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-external-population-binding.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-external-population-binding.log", + "sha256": "e06761b787303128d4abc303cffd5059cc43a1ea6fdb4de47ffb83a6e265ba5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-body-scoped-subtests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-body-scoped-subtests.log", + "sha256": "b711eb863e5cc7bf5e113ff7fd1976c971ee5d79324191f4e3b040b85c22c574" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/harness-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/harness-source-controls.json", + "sha256": "100f9129b8cec349cf54e42362edd7441cac12c91ef3e76cfaed6ccc1e9ae5d5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-body-entry-accounting.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-body-entry-accounting.log", + "sha256": "658660c0339ae12ac0a25ea1c218e980198ff1c317fbf55c4dc81090100fd541" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log", + "sha256": "abdffb3ed8af9407cdc0b0beabea9f732036b08e81a083fad7164cebb7cf636b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py", + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py", + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-axiom-category.log", + "sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "relative_publication_path": "evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "sha256": "60d6e1c2132f6ef891f5011b887211f695fcd371b1251606d8a892256ce3303f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "relative_publication_path": "evidence/lexer698-initial/normal/empty-lean-findings.log", + "sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "relative_publication_path": "evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-placeholder-category.log", + "sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "sha256": "08e737fdd7036e291d8fc1042f3cd0420b58f274aaac20e0e4f4e13621038033" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-native-category.log", + "sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "relative_publication_path": "evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "relative_publication_path": "evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/baseline-identity.log", + "relative_publication_path": "evidence/lexer698-initial/normal/baseline-identity.log", + "sha256": "1c38bee11cbf7458401fd5c05c59a866f16ab06c4a2cb45196a79145aec9bee5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-axiom-category.log", + "sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "sha256": "7ac1abde253575f9618b2b354a00485473d56514374dc7272470608b0333eda2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/empty-lean-findings.log", + "sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "sha256": "81b0341312b3a14a5c4c31ea3161bb15184363bb65d81a7a491e9dd8d9e1f5c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-native-category.log", + "sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/baseline-identity.log", + "sha256": "97e645f35e21c52af3988bdc7415c7df498ea9f4f7e5a1d0a781241fd84f0d8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/canonical_lean.py", + "relative_publication_path": "evidence/lexer698-initial/source/canonical_lean.py", + "sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/source_checks.py", + "relative_publication_path": "evidence/lexer698-initial/source/source_checks.py", + "sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/mutation_test.py", + "relative_publication_path": "evidence/lexer698-initial/source/mutation_test.py", + "sha256": "08b284df834f2c5c2960202046036b81826dc3900dc8c2a226ffe42b3a967212" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/auditor.py", + "relative_publication_path": "evidence/lexer698-initial/source/auditor.py", + "sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lexer698-initial/source/tests/test_mutation_runner.py", + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/tests/test_auditor.py", + "relative_publication_path": "evidence/lexer698-initial/source/tests/test_auditor.py", + "sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py", + "sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log", + "sha256": "6eac87ca6e8d1470236dd3624d790866189b90290bfc684f6216f418e896a562" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log", + "sha256": "b823ea9d7f3e570c0ca22f460dcc7b65bac5b29babc6e79ecce1e65fdc510372" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "sha256": "c1c5eeaab374105dd0cc5cf9f8342396712364a73ad3fd303db0bccf31e61bee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log", + "sha256": "f3721624aa8831b88c0db6b9e251dabc4d21a2a5b0226f57f99246db94343cc8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "sha256": "8a6dfe4fbb3a4856f9ea8d12cb55caa4f31095eb17a370b1196c5493ddfbe001" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json", + "sha256": "6ef5102e00197a3577c2a7f01dfb30939944b16806631cf67515317b724dd549" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log", + "sha256": "f2f9b477dc19bb0cbb40c5d0b074148fc3d9198ff042c5c9efd3f08740e26e73" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log", + "sha256": "97329f849c40ec14ba28671433676756d4f17a2357a6ce5fc94d9621bb3fe2e5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/receipts.json", + "sha256": "1e6495f2a1b155fb3893960c37bff367275a5538eef7d0ee9af52929aeae7223" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py", + "sha256": "e3ef018ee646ce11514331488660b4e492b23384d3043c003be54e478e7f707c" + } + ], + "prior_final_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/baseline.log", + "sha256": "b2e6847f813cbd618c30426d1b90b600e14b1aa83b0c46568a2f1e5624ef2c6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-lean-findings.log", + "sha256": "5afc4f4abac0f7a6789db68aacf3fe4880145984c501fd7df42f44a3321fcdab" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "d93390b0a29efce448b7b97c83c2b35fc420e29a997f146dd0e46537a7a206fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "sha256": "ffab4248b6cdc8191139503cbe6b6401ba9d7cadb04c08f36acef00dba44f423" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-axiom-category.log", + "sha256": "74d05966c3bebdc2e451463ee6bd3ff53985554e61235befef92759a8485d6fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-native-category.log", + "sha256": "86e396a97baf1652def570c0caa4f628adcf5934dad230dd52336d8a15473830" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "d267b6b4a659f2a374db686cf7b3ea1836c1d65d1d0b9cfde02812c01870e241" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "c9c9d1020a14f9936c636a2b96bbe2697c93725a7f13c775c01792a29071613c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "sha256": "f38fc00e7e8fb14f2e2f85739eff788d5719e257a6e8a795be0e85d8c6888411" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-python-division.log", + "sha256": "90f67a521041cd7654b217d272778ab4bb70a7e31e5da73254b348ff5f494c53" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "73f5a7d9f04d357bea32a365ad79fe5b10f9a3ff989e4981d46c4ee1a5afcdd4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "077baa995c784ee19b45204ad154ea21039cd30e3d55137782ead735a7a433a6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "a3c138be8887286eb9f7def6ada9c2373699ad38fdb14d5cc3288a5ab49a77df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "072e35971f8c64f6e97151238b531da59a1bbf1bfc525aea1ce1b74f093ce1f8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b030056162cfabc3eeeb8f0c52bb7b9f8ccd274dc8bff0cb79b89c99bc051bad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "59d150c79ba76b270e452e96f593e121bbb6d9f1596f695f248beb6e30a91d6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "e51538ba4caff4b22d0a1ed683957983643a9c2efab94f00fe2f2e97bdce486f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "sha256": "39e9118c52eb4f1e9d60f90390882cf6227fed2180d06195fe7017c2011821af" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "sha256": "a2442444dfe30c439abe9dc06a939b613e4cf3a874cd11619805961f3001942d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-symlink-files.log", + "sha256": "27d31214b243a8162cc7b6d6b5dceb98098be7ca892160a94e38e9a62df1a8ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "sha256": "887d91bffcb4f8de78f67ec87a7136844fc4d9a8afe95300db40a8fa42509fdf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "sha256": "7c0abd09bf090212146c67049cf422154cffb604ae48bdc66be8ea116f5fa697" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c05a5e956756b25788b1fd5a100d8410ca2d8f632134034f9bb35c30bb6536a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "2ced2b97345f4d918819c0997e115b8aae93c5fd248477b8eb6089a7c5f06403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "sha256": "25b32bae46d83b97b109bec534f23760a3aff44551707637643d00cbcb87721d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e1a6b93cc62892ba2c542957b0cbae0cedbd38357fd48fba03e776fae19549f0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "458ab4714ee1afcd62e0a34d4a79ba99d03e5c291a3c39f7361e148325fcc14e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "8061ee644baabc57ef87a2c44cdb08506afcaea0d3a89a8236b4b02f926c799c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "7f4d52b7e3862ecf95bd03bc326fbc434ea0ac42d421acb5394abc28e75716bd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bad6c8a559e9f35ace2d40f2db4b3bea9fe59d4d084304331b6230a075a4cb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f4095f142b139c11cc9a03008b4a728ea2d8fd4d7113f1fdc3979545009359d3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-path-validation.log", + "sha256": "628944a0688f6f8fda1d1a722c3af742c8d6ed5a6f96d034e8b43b2e9a8e0116" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "838e2c072d690d6388da8cd6d3e3dfdbaa06ef083dda80852a55bd152b04c510" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "d9359ef9572c7841d57affc7d37a856b54d8c0e07eab6dd9ba818bbe10bf94f9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "74fd63f8feb8e7921c56a55e2cf840318cbd76f476bc3171f0b6b5ba3e805a58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "64b312cc433929417085e9ff0b569e04ef2ab208acde1900a8e377f8288c8e8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-status-evidence.log", + "sha256": "046a559ed488dbeda388035c65fe05a7ef00f3b5febd232bf7a4992358fe15e6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "a513511511b4cd28e1da6d0b808eb5e45cd8400050f30a51404f1753b5cb7a3c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-final-findings.log", + "sha256": "a5e1246730410f6d2d1b08f7161318bbc30e1512ea9068e8f601dade33bebb2e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/always-report-static-pass.log", + "sha256": "e5cf79344245c5eb68c09182cdf6fd3ee7535c969458290c98c6d20cb0ccb12f" + } + ], + "receipt": "evidence/g0-final.json", + "receipt_sha256": "b4342ca431025a44dad0dbd3ebe9e4c5aaf012c1be6f799405be2bcf2e8e01e0", + "source_generation": "evidence/pre-hardening-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "c0bc0ad327e0dc7729935354e459907045432e146665b2114a4e9b8f7da7a66c", + "README.md": "c3eb2c13df3665e72d9aedb03321a6144b96a42c226a245cdfc27688f812926e", + "SPEC.md": "8380d4bbe2d53c822655c27b0f19740216c1bfdc1cef4598825049d40e1c3f58", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "mutation_test.py": "a2d83c63c9b20e3b52366ff984f3e6595493e1da3d39b50a4c1b3586ec3dfe6d", + "source_checks.py": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "tests/test_auditor.py": "2894e255ef5be4dfad05c42b06266c12d166be4fe99c57301a79a904888efc1f", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "prior_hardening_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/baseline.log", + "sha256": "bd37bf8669df3ae7b450faeee1af77f02b48329dcf2626861e254fec3d9c2d23" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "sha256": "c4587e83122861a0237adbecc165becb3f411abf6e51e822c762724666686713" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "61d02f4280530e8a56c8ce30e5a7f262d02c5ad5519c08c71f074a09709827eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "sha256": "4cb5a8f9b226349a90b914735b2c9435396eee6287196d618af1f5aa7a582a82" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "sha256": "cbf98f43bbd15a5b8d64108601a9954cae55839cd608594f261f12a019752dbc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-native-category.log", + "sha256": "b22eabb8238c3bedef79309510a5d92e91a17b0800e2c18754f366ee98a501a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "8686edc6ae1fe32a14b9aa66d66c8bf2022786daf0f6572ec04b2475858cf83a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "55d3acd966c7d9384d0db2c6f420437a08af5060cf0357d59916ca641c9f248c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "e0c33cc66d79032b41ead944f8b1cda358a2a3c3c34552bce21687fb1495ca25" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "6a9f4b5c4b918bda1d53303d7b48648fff9b4804fda88523c6bcc5587883dcaf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "211ec1bab634374be7a3ca12dff211e293059f11cb2ac1c1f9b814f1ed0a217f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "sha256": "3c4ad9e87a4a98f1ebe8befc0c81d101ce9ecf7c5646dbd52dabc2ab8acaa194" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "sha256": "25cd3661a79e7c5a5e6bd5487a40e6fc88b926ac65eefbdd52b1064a042a0dde" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "sha256": "9c6c214212dbe6cfe36cd65d18eabd9cc2e19522e25762b48992a99798a233da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-python-division.log", + "sha256": "c4d8f33d381d130e20d6f9e20d08e64c46c89574f5a6ea643b7cc42c29fa0e58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "b0fcabb9bfd9e6c182743e938946d281fa0d55fe5c16fb0dfba780b641d4670a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "sha256": "0b008f6ba32d9db12ed65bc22a44ceac76dc5bc5105d33124d6eda104f90b73c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "sha256": "4ea10c9d750f149a5c59088ed436a714a7983e9dafe215b507e627c8683d5fe0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "sha256": "1ed1f484525fb0310b0e3b94ece2f07ae0a9a5f9d4bc3b3a884785a3e2feeb49" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "88fa12659e796a10ae4063dd6cda8a23d4be018b874dff2695cc15bb6f704c40" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "sha256": "dd4c206c1d4214a6490da2b9e23405c1ff7f5e76adeab2d28bed8f8b342a2a1c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "sha256": "cb4772082dc8887c29873814130fe2f01a28cde88baab251791b2f6427b76c01" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "sha256": "257046b4f24b6b58471b2510253cfc5fe763801ca8c999d0362af425f38828c2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "sha256": "6045e698601fe16a93208529417272488024148332e848f9d0b509c21c291204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "sha256": "369055295133c748500c408d7d371a4ef29488d0c22161fb49c6969a465dc3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "sha256": "a1cb4206066ccf5538e24f839774d67d74fc898727f116cea7ddb7aa13c58fef" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "sha256": "4ead5222f76968d334b66969596d3498e8e8e9a657b550e5e525a7e5263fddc1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "sha256": "a16eff825df6cb63dafa28fc0852c0fb429ee011e5011a4677fa394afb2264b8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "sha256": "1c3bcdf1189e2128a11fe50a57220d0a55f7b970a926b8ac05a64c72228c665c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "sha256": "b4ebe7ee7bfa8818c18da972dc64c1a4d271a89fa31d67d3dd83f5534d6e45da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "0f1744f32d0284e72e91012dc946b83b1b032aa994c74ea5c907880cd38d0a0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "5ab7c0439d0e71ca7618c1595e3c9b6695d3c82e66382cb9a21fc58dae2f4068" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "ed8516f2431a2c5752c14151a2fd30707e04cb5dd56ef17854dea4954a22d590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "47b56ba8eb2fb962458f1452544de58ce8260ccd345fc9c71b36c4f2e2253d61" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bf8d81ba19834ddd2b02d81dbdded4facef1dab24c2bf96bcf303746baeafc19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "00124e5e1df955287d1870b0cc755650ced8c66ac4414861c31913ef983c956e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "sha256": "1c649385e7cceb63128ab5787ab284a2949976e1c5466351f7e19b3eaef18816" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "sha256": "89687c72e1d7ebcef094010d2137196689a2399abed75f8d36940e839ef19a9c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "sha256": "978eb2468f165747544737c44c5f90611b9fd109f6c455bbc2758b522502434f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "391b9a461a8f909d3ddef00bdc707b2dcfed55371a357ca0564ff79bf95567c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f5207c74b953d3ca495d6bee17d36449743f90ef4e9e242fe46d92f455707ede" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "sha256": "669fc517a61f88f117abb237704a5ba8db91b479ea94500e8a5132de709ed272" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "ee53fce5e4246153d1f88d4f7d944c25724e810637a5e069900f89efaec5398a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "sha256": "691a2600bcf1b3153d2639dcd86a3a34ddddfb01021db2cbdd7ecf5d98c329ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "sha256": "c1dc3d4532a7cfbb53f2ce28c4a5f406f54296aa8d247bdc4f76844ee2ebab52" + } + ], + "receipt": "evidence/g0-hardening.json", + "receipt_sha256": "9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619", + "source_generation": "evidence/pre-admission-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "f32f736f63c08ec0fd67b4ef4746630e17c39085ab700f5eee8ddda41c87fed0", + "SPEC.md": "75dc927fc35b0dff3f2423957dcf311ea95c9364c1ae3208f670ebe22eac774d", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "a5241db32bbbadbce183aad2ffeae2fc732406fdf01fbec79b3d27a95b06ed2a", + "source_checks.py": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "tests/test_auditor.py": "05095a3fd3cc71bfedd37b57a07e5a4d97ea40e43a7ab3df05fa9967b55d754e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "publication_prefix": "cbz/contributions/math514/layer_a/", + "raw_receipts_unchanged": true, + "schema_version": 1, + "scope": "Byte/source-generation custody map; no G0 or repository/mathematical execution.", + "translation_rule": "Remove execution_root from a raw source/log path and resolve the remainder in this contribution; raw paths are historical provenance, not portable commands." +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/PUBLICATION.md b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/PUBLICATION.md new file mode 100644 index 000000000..598783b94 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/PUBLICATION.md @@ -0,0 +1,25 @@ +# Exact-scope auditor publication package + +This successor adopts Root's unchanged canonical Main#698 lexer at `38312e16f7ae22aeb433823c4a00a2cc80e23d0b` (blob `2eee3a2200082444093935291b9389c0795641cf`) through a minimal seven-field metadata adapter. It repairs explicit owned axioms adjoining numerals and explicit placeholders in nested quoted `throwError` interpolation. It introduces no second lexer engine. + +Current affected-scope verification: **Current composed evidence: 56 distinct methods freshly exercised in affected scopes (45 lexer +8 added lifecycle +3 retained harness methods),27 unchanged auditor methods reused;19 affected scanner mutants per mode plus38 unchanged historical scanner mutants, with grader safeguard observations separately version-bound. No fresh whole83-method/57-scanner-mutant run is claimed.**, receipt `evidence/composed-admission.json`; its lexer component is `evidence/lexer698-admission.json`. The receipts identify exact fresh/reused test and source-mutant counts; no new full-70-test or full-53-mutant run is claimed. Existing Main#698 actual Lean counterexample compiler logs are retained and reused without compiler replay. + +Historical Main#697 head `027505fee908693ded0a9e99eaa974ea6f419c6b` passed 70 tests and 53/53 actual checker-source mutants with zero errors, receipt `evidence/g0-admission-final.json`, SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`. Its completed postfix review covered the five original admission findings and literal operands. Those exact historical outcomes remain reusable where relevant inputs/dependencies are unchanged; they do not certify the changed lexer or the two newly uncovered cases. Current lexer and lifecycle source reviews are included, with actual-repository/federation admission separate. + +This package preserves all prior failed/current receipts and logs, exact 56/39, 60/44 and first-repair 69/52 source snapshots, original permission survivor, and exact public ef5b924 lexer provenance. The old027 source/tests/provenance and 70/53 receipts are additionally preserved under `evidence/pre-canonical698-source/`. The previous 174-file candidate and its metadata remain archived locally under `delivery/auditor/history/`; prior generation evidence is included in this contribution. Raw historical paths/receipts were not rewritten to appear to run in the publication location. `EVIDENCE_PATH_MAP.json` supplies portable path translation. + +From this complete contribution directory (or after moving the complete layout to `tools/cbz/exact_scope/`): + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use fresh output paths. Packaging checks copied bytes and reuses completed verification; it creates no new gate result. No actual repository G1/G2/G4, Lean build or mathematical verification was run by this contribution task. No Git/remote or canonical root mutation was performed. Root685 owns final manifest, canonical integration, admission and publication. + +See `SPEC.md`, `README.md`, `TOOLING_REGISTRY.md` and `BUILD_REPORT.json` for exact contracts, schema, error codes, all current mutants and remaining G2/G4/G7/G8/G10 obligations. This tool supplies bounded manifest/isolation/AST/metadata checks. It does not decide arbitrary SAT, loader/dataflow completeness, mathematical truth, inventory authenticity, semantic certificate truth, historical weakening or federation closure. Same-provider and provider-distinct process review remain separate from established mathematical/mechanical evidence. Reuse completed applicable checks under unchanged relevant inputs and assumptions. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +Current composed evidence: 56 distinct methods freshly exercised in affected scopes (45 lexer +8 added lifecycle +3 retained harness methods),27 unchanged auditor methods reused;19 affected scanner mutants per mode plus38 unchanged historical scanner mutants, with grader safeguard observations separately version-bound. No fresh whole83-method/57-scanner-mutant run is claimed. See `evidence/composed-admission.json`, `evidence/existing-harness-current-receipt.json`, `evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md` and the two scoped source reviews. Three dynamic one-method source controls and10+3+2 generation-bound grader safeguard observations are separate from the83-method inventory and57 scanner definitions; the repeated duplicate-population control is not counted as another distinct production mutant. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/README.md b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/README.md new file mode 100644 index 000000000..72af659f6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/README.md @@ -0,0 +1,132 @@ +# CBZ exact-scope Layer A contribution + +This tool contributes classification/hash/import isolation, a strict exact-arithmetic Python AST profile and A6/A7 evidence bindings. It reuses Root's unchanged canonical Main#698 identifier lexer through a bounded metadata adapter. It does **not** replace federation G2/G4 or declare mathematical closure. The authoritative mechanical contract and limitations are in [SPEC.md](SPEC.md). + +## Commands + +With Python 3.11 or newer, change into the complete tool directory at your chosen repository-relative destination, for example `cbz/contributions/math514/layer_a/` or `tools/cbz/exact_scope/`: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use a fresh controller output path per run; preserved raw development receipts are immutable historical evidence. Raw receipt paths identify the local environment where they ran, not publication execution paths. Run the second command for an actual repository only after applicable current tool-admission evidence is established and the controller has prepared its final tracked-file scope. Reuse completed checks on unchanged inputs; a new clone or handoff alone does not require another G0 run. G0 runs every local selftest, then actual temporary checker-source mutants. G1 reads files only; it never runs Git, Lean, project Python, external commands or mathematical checks. Its report is deterministic for identical manifest bytes/files/tool. `audit(manifest)` is also available to isolated fixture tests; it accepts the parsed object and returns the report. + +Audit exit codes: **0** bounded `STATIC_PASS`; **1** one or more blocking findings; **2** invalid/unreadable JSON or command-line usage; **3** requested report output could not be written. `STATIC_PASS` always carries outstanding G2/G3/G4/G5/G7/G8/G10 obligations. Every finding blocks the static result; `fatal_gaps` is the subset that specifically identifies missing/unsupported certification. Retained isolated findings appear separately and never mean those files are clean. CLI input errors produce JSON except argparse usage errors. G0 exit 0 means every declared mutant was killed; any surviving/invalid/crashing mutant or baseline error is nonzero. No weakening/skip option exists. + +To run selftests alone (development, not a replacement for G0): + +```sh +python -B -S -m unittest discover -s tests -v +``` + +## Manifest schema v1 + +JSON accepts integers only; duplicate keys, floats, NaN and Infinity are rejected. Top-level keys are **exactly**: + +```json +{ + "schema_version": 1, + "approved_axioms": ["propext", "Classical.choice", "Quot.sound"], + "roots": [ + { + "id": "math", + "path": "/absolute/final-tree", + "tree_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "tracked_files": ["Closed.lean"], + "files": { + "Closed.lean": { + "sha256": "<64 lowercase hexadecimal content digest>", + "kind": "project_lean", + "module": "lean:Closed", + "vacuity": { + "t@1": { + "status": "conditional", + "premises": [], + "reason": "No nonvacuity certificate claimed; elaborated statement review remains G2/G8." + } + } + } + } + } + ], + "module_map": {"lean:Closed": "math:Closed.lean"} +} +``` + +This is a schema illustration: replace the absolute root, immutable tree id, exact inventory and actual SHA256 values. Roots are nonempty, normalized absolute directories with unique ASCII ids (`[A-Za-z0-9_-]+`) and nonoverlapping paths. A tree id is 40 or 64 lowercase hexadecimal characters; G10 authenticates its connection to the supplied inventory. Every root has a nonempty unique list of normalized relative NFC paths, no `..`, backslashes or symlink component. `files` keys equal `tracked_files` exactly. No exclusions or inferred quarantine folders exist. The controller supplies the full final tracked scope; untracked state and inventory authenticity remain G10. + +Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable to its kind fail. Additional fields by kind: + +| kind | Fields and obligations | +|---|---| +| `project_lean` | `module`, `vacuity` required; `.lean` source | +| `math_python` | `module` required; `.py`/`.pyi` closed exact-program profile | +| `engineering_python` | `module`, `nonmath_review` required; `.py`/`.pyi`; floats only in explicit bound nonmathematical reviewed scope | +| `negative_fixture` | `language`, `module`, `expected_findings`, `fixture_purpose`; retains actual negative tests | +| `quarantined_source` | `language`, `module`, `expected_findings`, `quarantine`; exact terminal isolation | +| `external_pinned` | `pin` required; source requires supported `language`/`module` and Lean `vacuity`; optional binary `bindings` | +| `binary_proof` | `bindings` required, optional `pin`; bytes are not treated as text | +| `documentation`, `data` | optional `status_evidence: true` for JSON status surfaces; other known source/proof suffixes cannot be relabeled this way | + +`language` is `lean` or `python`. Retained source always requires language and a registered module, including a `.txt` filename; a mapped external module likewise requires supported source analysis. Historical `.lean.txt`/`.py.txt` source is recognized. Known unsupported source extensions fail with `LANGUAGE_GAP` even if labeled Lean/Python; they require an appropriate certifier, not arbitrary data labeling. Nonbinary files must decode strict UTF-8. Actual reads and explicit permission bits are checked, including under a privileged reader. Immutable `pin` is exactly `{ "revision": "<40 or 64 lowercase hex>", "origin": "" }`. Dependencies are scanned, never automatically declared safe by pinning. Known binary object suffixes also require G2/G4 bindings when `external_pinned`. + +A source module has exactly one identity, e.g. `lean:Closed.Base` or `python:certifier`, and its one `module_map` value is `rootid:relative/path`. Maps cannot point to documents or alias a differently declared module. Explicit imports resolve through this map. Closed code may not reach negative/quarantined source through any mapped import chain. Python `from fractions import Fraction [as alias]` is the sole built-in exact-math profile import; G7 must bind/authenticate that Python runtime and fractions implementation. Mapped local `fractions` modules take precedence over the stdlib exception; a mathematical source cannot depend on an engineering-only replacement. Python mapped package prefixes and `from package import submodule as alias` candidates also enter the isolation graph. Other unknown imports, relative/star imports, reflective loaders, macro expansion and unsupported mechanisms remain reported gaps. Plain Lean module identifiers including apostrophe, `!` and `?` suffixes are extracted completely. Unsupported or escaped operands and trailing syntax are explicit `LEAN_IMPORT_GAP` findings even after a valid prefix. Both Python scopes refuse explicit reflective namespace entrypoints (`__builtins__`, `vars`, `getattr`, `setattr`, `delattr`, globals/locals and defined globals/class/frame attributes); an engineering review does not waive that boundary. There is no general import/dataflow completeness claim. + +## Retained source and certificates + +`expected_findings` is an exact map of checker code to positive integer occurrence count, e.g. `{"LEAN_PLACEHOLDER": 1}`. `{}` is valid for a retained semantic failure that has no lexical violation; G5 still must retain and execute its actual failing test. Missing or extra scanner findings block. No retained source is counted as clean. + +A quarantine object has exactly: + +```json +{"id":"Q-1","boundary":"root:path and exact isolated mathematical boundary","blocking_reason":"specific unproved fact","owner":"none","maintenance":"zero"} +``` + +All evidence references have exactly `{"root":"id","path":"relative/file.json","sha256":""}`. The referenced file must itself be classified, readable, hash-bound JSON inside the manifest. Binding is mechanical; authentication and truth of its review/certificate are G8/controller work. + +An engineering `nonmath_review` reference points to exactly: + +```json +{"type":"nonmathematical_review","source_sha256":"","scope":"nonmathematical_execution_only","reviewer":"identified reviewer","rationale":"explicit reviewed execution scope; no mathematical certification"} +``` + +This is an affirmative review claim, not a waiver for mathematical floats. The controller must substantiate it. + +Lean `vacuity` keys cover exactly every lexical theorem/lemma/example as `name@line` (anonymous `example@line`). An entry has `status`, nonempty `reason`, and only the following applicable fields: + +- `conditional`: explicit `premises` string list, possibly empty; no satisfiability claim. +- `vacuous`: reason naming the unsatisfiable source-shaped hypotheses; syntactic contradiction candidates require this classification. +- `nonvacuous`: `evidence` reference to `{ "type":"nonvacuity_certificate", "subject_sha256":"", "declaration":"name@line", "witness_description":"actual witness and certificate description" }`. + +Candidates are syntax observations; arithmetic interpretations, aliases and arbitrary proposition SAT are not decided. G8 must validate the semantic interpretation of annotations, and G2 must expose generated/aliased statements. Conditional status never closes a mathematical hypothesis obligation. + +Binary `bindings` is exactly `{"G2":,"G4":}`. Each reference points to a passing JSON object with `type: "kernel_evidence"`, corresponding `gate`, `subject_sha256` equal to the object's content hash, `observed_status: "PASS"`, integer `exit_code: 0`, a nonempty command list and nonempty `run_id`. G2/G4 must actually supply/authenticate that result; byte/hash presence cannot create it. + +## Status evidence schema + +A file with `status_evidence: true` contains exactly required fields `schema_version:1`, `gate:G0..G11`, `observed_status:PASS|FAIL|NOT_RUN|ERROR|INACCESSIBLE`, nonempty `run_id`, nonempty string-list `command`, `exit_code`, and nonempty `inputs` mapping `rootid:path` to actual content SHA256. The only optional field is `evidence`, a bound JSON reference. `PASS` requires integer exit 0; `FAIL` requires nonzero integer exit; other observed execution states require integer exit. The observation JSON must equal all status fields except the evidence pointer, using canonical JSON comparison that distinguishes booleans from integers. `NOT_RUN` requires null exit and no observation evidence. This checks structure and bindings, never an aspirational Markdown label or command execution authenticity. + +## Published lexical reuse and evidence + +`canonical_lean.py` is the unchanged public `tools/cbz/layer_a_scan.py` from Main#698, head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b`, native Git blob `2eee3a2200082444093935291b9389c0795641cf`. `LEXER_PROVENANCE.json` records its exact source binding. The adapter consumes its seven-field identifier stream and character-literal recognizer; path contexts, filesystem/Git walking and standalone CLI are unused. Every supplied file remains explicitly classified by the manifest. Unsupported token metadata or lexical errors cannot produce a clean result. + +This replaces the older ULW29 engine after two concrete source-admission gaps: a valid `0axiom` command boundary hid an owned axiom, and nested quoted terms inside `throwError` interpolation hid an explicit `sorry`. The canonical engine supplies the numeric boundaries and conservative interpolation-hole scan; no second lexer engine is introduced. The bounded secondary metadata parser remains responsible for imports and source-shaped declaration/vacuity metadata. A conservative hole interpretation may also flag hazard-looking brace text inside an ordinary string. Arbitrary macro semantics remain G2/G4 work. + +The current affected-scope receipt is `evidence/lexer698-admission.json`: **Current composed evidence: 56 distinct methods freshly exercised in affected scopes (45 lexer +8 added lifecycle +3 retained harness methods),27 unchanged auditor methods reused;19 affected scanner mutants per mode plus38 unchanged historical scanner mutants, with grader safeguard observations separately version-bound. No fresh whole83-method/57-scanner-mutant run is claimed.**. Exact fresh/reused counts must come from that sealed receipt; no fresh full-suite or full-53-mutant run is claimed here. Main#698's existing actual Lean counterexample sources and compiler logs are retained under `evidence/public-main698-38312e16/independent-review/` and reused without compiler replay. Its contributor 72-test/two-mode and 66 lexical plus 23 A3 mutant results are inherited source evidence, not a new run of this wrapper. + +The historical Main#697 head `027505fee908693ded0a9e99eaa974ea6f419c6b` passed 70 tests and 53/53 source mutants, receipt `evidence/g0-admission-final.json` (SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`). Those results remain valid in their recorded scope and are reused only where the relevant source/dependencies are unchanged. They do not cover the newly discovered cases or certify the changed lexer bytes. The old source/tests/provenance and receipts are preserved at `evidence/pre-canonical698-source/`; earlier b7eebb4 and hardening generations remain distinct. + +G0 receipts bind the actual checker/test/spec/README source hashes and each changed checker hash/log. Invalid syntax, import/runtime errors and timeouts do not count as killed mutants. Identity-mutant and crashing-mutant tests verify the harness itself. Initial red runs and the original permission-guard survivor are retained as development evidence; the original guard-removal mutant remains in the final declared set alongside the actual skip-file mutant. The privilege-descriptor fixture kills the original by assertion. All final threshold decisions use exact integer counts, never floating point. + +Owned by the root CBZ integrator after admission. This agent only writes this directory and its discovery build report. Root owns the final registry, tracked scope, source receipt verification, G0–G11 final run and any CBZ-0 declaration. + +Hardening scope: `Environment.addDeclWithoutChecking` and qualified/escaped forms are blocking `LEAN_KERNEL_BYPASS` findings. Escaped `admitGoal`/`mkSorry` helper constants are refused alongside `sorryAx`. Unterminated character literals fail with `LEAN_LEXICAL_GAP`. Every exact `native` identifier is conservatively refused, so native configuration flags do not evade detection through whitespace, line breaks or nested comments; this policy can also reject harmless uses of that identifier. Comments and raw strings remain noncode; ordinary string bodies are also conservatively scanned for executable brace holes. No arbitrary alias expansion, semantic kernel trust or SAT completeness is claimed. The finite planted layouts are listed in `evidence/hardening-assessment.json`. + +Canonical lexical diagnostics are deduplicated by their exact `(line, column, kind)` tuple in first-seen order and emitted after the secondary lexer findings. Distinct diagnostics remain distinct; the manifest auditor sorts its final findings deterministically. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +Current composed evidence: 56 distinct methods freshly exercised in affected scopes (45 lexer +8 added lifecycle +3 retained harness methods),27 unchanged auditor methods reused;19 affected scanner mutants per mode plus38 unchanged historical scanner mutants, with grader safeguard observations separately version-bound. No fresh whole83-method/57-scanner-mutant run is claimed. See `evidence/composed-admission.json`, `evidence/existing-harness-current-receipt.json`, `evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md` and the two scoped source reviews. Three dynamic one-method source controls and10+3+2 generation-bound grader safeguard observations are separate from the83-method inventory and57 scanner definitions; the repeated duplicate-population control is not counted as another distinct production mutant. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/SPEC.md b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/SPEC.md new file mode 100644 index 000000000..2004b85a1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/SPEC.md @@ -0,0 +1,44 @@ +# CBZ Layer A static auditor — bounded specification + +Purpose: G0 tests the auditor itself; G1 checks a root-authorized exact tracked-file manifest. This is a focused Python-stdlib command, not a Lean parser, kernel, SAT solver, Python interpreter or general framework. A successful result is `STATIC_PASS`, never CBZ-0 or proof closure. + +## Authority and scope + +The final federation controller supplies schema v1: exact roots, immutable tree identifiers, complete tracked-file lists, and one hash-bound classification per tracked file. The auditor validates every listed file, exact classification coverage, normalized paths, absence of symlink aliases, UTF-8 where applicable, readability, content SHA256, and all class-specific obligations. It never guesses exclusions or silently skips a file. The authority/completeness of the supplied Git inventory remains G10; this tool deliberately does not run Git. Its report binds manifest bytes, inventory lists and every scanned file. The manifest is supplied outside the audited root in tests; production may bind it as controller evidence outside its own hash cycle. + +Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_fixture`, `quarantined_source`, `external_pinned`, `binary_proof`, `documentation`, `data`. Source-looking extensions cannot be relabeled documentation/data. Every source, including quarantined and negative source, is scanned. Retained negative/quarantined source must name its exact expected finding multiset; extra or absent findings fail. Quarantine additionally records an exact nonempty boundary, blocking reason, id and source hash. These records are dispositions, not clean source. Binary proofs require content-bound G2 and G4 evidence references. External files require immutable revision pin metadata; no implicit dependency trust exception exists. + +## Mechanical claims + +Lean: Root's unchanged canonical Main#698 identifier lexer (`canonical_lean.py`, provenance in `LEXER_PROVENANCE.json`) supplies the hazard stream through a seven-field metadata compatibility adapter; a bounded punctuation/header lexer supplies import/declaration metadata and malformed-input detection. Unsupported token metadata and canonical lexical errors fail closed. Together they handle line comments, nested block comments, ordinary/raw string literals, character literals, escaped identifiers and Unicode identifier boundaries. The canonical engine uses Lean numeric token boundaries, so an adjoining `0axiom` cannot swallow a command keyword. Its conservative brace-hole interpretation scans nested quoted terms inside possible macro interpolation such as `throwError "bad {let x := "safe"; (sorry : Nat)}"`; this may add findings for ordinary brace text and does not certify arbitrary macro semantics. The secondary parser conservatively refuses its unsupported interpolation forms. Outside comments/raw strings, including code in these possible interpolation holes, it detects exact `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, axiom/constant declarations, `native_decide`, `native`, `ofReduceBool`, `ofReduceNat`, `ofReduceInt`, `trustCompiler` and `skipKernelTC`, including qualified forms. `addDeclWithoutChecking` (qualified/escaped forms included) is a blocking unchecked-kernel-insertion hazard. Escaped `sorryAx`/`admitGoal`/`mkSorry` constant names remain hazards, while escaped keyword identifiers such as `«sorry»` are not logical placeholders. An exact `native` identifier is always refused, conservatively covering native-decide configuration across whitespace, newlines and nested comments without depending on a follow-text regular expression. Float/Float32 and unsafe/macro/elaborator/FFI syntax are flagged for explicit G2/G4 follow-up because lexical inspection cannot certify its expansion. Imported project macros can inject axioms without these tokens: G2 must enumerate ALL elaborated owned declarations, including private/generated ones, and G4 must kernel recheck them. + +Approved foundation declaration profile: **no newly declared owned source axiom is permitted**, even when named `propext`, `Classical.choice` or `Quot.sound`. The approved imported transitive axiom set is exactly `{propext, Classical.choice, Quot.sound}`; only G2's all-declaration kernel environment audit can authenticate that set and those actual declarations. Lexical source naming cannot create an exception to it. Dependencies are immutable pinned inputs, not arbitrary new foundation declarations. + +Math Python: an explicit AST allowlist accepts closed-program exact integer/`fractions.Fraction` arithmetic, exact builtins and statically named local functions. No floating/complex literals, `/`, unrestricted powers, arbitrary imports, dynamic calls, reflective attributes, classes, decorators, async, external input, exceptions as proof, or builtin/Fraction rebinding. `**` requires a nonnegative integer literal exponent. Fraction import aliases are supported and protected. This is a conservative syntactic exact-arithmetic profile, not arbitrary interprocedural float-dataflow analysis. Functions are certified only as part of the closed program; external callers are outside the profile. Engineering Python allows floats only with a hash-bound explicit review declaring nonmathematical execution scope; it is parsed and dependency checked, never silently admitted as mathematical certification. + +Boundary checks: explicit Lean and Python imports from closed sources resolve through `module_map` to classified pinned files. Closed code cannot import quarantine or negative fixtures, including transitive import chains. Plain Lean module operands include apostrophe, `!` and `?` identifier suffixes; an unsupported operand or trailing token is a gap even after a valid module prefix. Escaped module syntax is outside this bounded import parser and is refused. Python refuses explicit reflective namespace/loader entrypoints in both mathematical and engineering source, including builtins/namespace names and the defined globals/class/frame reflective attributes; a nonmathematical review cannot waive import isolation. Unresolved/dynamic/unsupported import mechanisms are fatal gaps (or exact retained findings in isolated source); no claim of arbitrary runtime dependency completeness is made. The module map must agree with per-file declared module identities and cannot alias names. Retained source requires supported language/module metadata regardless of suffix; an external mapped module also requires a supported source language. Known unsupported source suffixes remain gaps even if labeled Lean/Python. G2/G4 must account for generated modules, macros, FFI and runtime-dependent loading; unknown cases are never green. + +A6: every lexical theorem/lemma/example has an entry keyed `name@line` (`example@line` for anonymous examples). Entries are `conditional` with explicit premises/reason, `nonvacuous` with a bound evidence reference, or `vacuous` with a reason. Syntactic candidates (`False` hypothesis, `False →`, opposing `P`/`¬P`, self-strict inequality/disequality, incompatible literal equality) require `vacuous` classification. These are source-shape candidates, not a decision procedure for Lean proposition satisfiability; aliases, typeclass interpretations and arbitrary semantic inconsistency require separate certificates/G2 elaborated statement review. The report lists all detected candidates and all conditional claims. + +A7: status JSON is checked only when explicitly bound with `status_evidence`: exact allowed observed state, gate id, command, run id, input hashes, evidence reference and exit code must agree. Observation equality uses canonical JSON serialization so booleans and integers remain distinct. An observation file is evidence structure/content binding, not authentication that the command actually ran. G8/controller execution receipts supply that provenance. Markdown truth and no-weakened-bound historical intent are outside lexical decidability; they require G8 and source-history review respectively. + +## Nonclaims and hard limits + +No source scanner proves arbitrary mathematics, satisfiability, bound strength, historical test retention, semantic status truth, pin compatibility, kernel trust, command execution or external review authenticity. G2/G3/G4/G5/G7/G8/G10 and relevant manual certificates remain explicit obligations. `STATIC_PASS` covers only the stated mechanical rules under the supplied final tracked inventory. Any missing/unsupported case is a finding/fatal gap, never a skipped green case. Test/mutation scores are finite declared coverage, not a proof of all possible checker behavior. + +## Delivery and authorization + +Owner's explicit autonomous directive supersedes skill approval/branch/commit/reviewer ceremony. Work is confined to `tools/layer_a/` and `discovery/auditor-build-report.{md,json}`; root owns Git, registry, final manifests and final G0–G11. Existing `formal/gate.py` hash/path/axiom target checks were inspected: their target-scoped audit and source-manifest checks are useful G2/G3/G4 components but do not implement this lexer/AST/full-classification contract. Their invariant patterns (safe paths, exact hashes, strict JSON, exact approved set) are retained; their package-specific execution and destructive build routines are not copied or run. + +Published component reuse: exact native blob `2eee3a2200082444093935291b9389c0795641cf` at Main#698 head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b` is imported unchanged. Its published 72-test/two-mode, 66 lexical-mutant and 23 A3-mutant results remain inherited component evidence, not a local wrapper rerun. Its actual Lean counterexample source/log evidence is reused without compiler replay. The adapter uses the canonical identifier stream and character-literal recognizer, with no heuristic directory exclusions or Git execution from the standalone entrypoint. The old ULW29 source/provenance/tests and historical 70/53 receipt are preserved under `evidence/pre-canonical698-source/` and remain exact historical evidence. Current affected-scope verification is `evidence/lexer698-admission.json` (**Current composed evidence: 56 distinct methods freshly exercised in affected scopes (45 lexer +8 added lifecycle +3 retained harness methods),27 unchanged auditor methods reused;19 affected scanner mutants per mode plus38 unchanged historical scanner mutants, with grader safeguard observations separately version-bound. No fresh whole83-method/57-scanner-mutant run is claimed.**); unchanged applicable checks remain reusable and no new full-suite score is implied. + +Hardening trigger: a concrete integration review exposed unchecked declaration insertion, malformed character and escaped helper gaps. `evidence/hardening-reported-cases-red.log` retains the observed RED cases; the previous nine G0-bound source/doc files are preserved exactly in `evidence/pre-hardening-source/`. No historical repository mathematics was repeated. Actual repository G1 remains root-owned and NOT_RUN here. + +Canonical lexer integration trigger: newly demonstrated numeral-adjoining owned axioms and nested quoted `throwError` terms were missed by both old source passes. The repair adopts the single canonical engine and a minimal API adapter; it does not add another lexer. Fresh checks are limited to changed Lean integration and defect-bound mutants. Existing Python/manifest-only checks, mutation-accounting checks and completed mathematical verification remain reusable where their relevant dependencies are unchanged. No mathematical/compiler replay was performed for this repair. + +Canonical lexical diagnostics are deduplicated by their exact `(line, column, kind)` tuple in first-seen order and emitted after the secondary lexer findings. Distinct diagnostics remain distinct; the manifest auditor sorts its final findings deterministically. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +Current composed evidence: 56 distinct methods freshly exercised in affected scopes (45 lexer +8 added lifecycle +3 retained harness methods),27 unchanged auditor methods reused;19 affected scanner mutants per mode plus38 unchanged historical scanner mutants, with grader safeguard observations separately version-bound. No fresh whole83-method/57-scanner-mutant run is claimed. See `evidence/composed-admission.json`, `evidence/existing-harness-current-receipt.json`, `evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md` and the two scoped source reviews. Three dynamic one-method source controls and10+3+2 generation-bound grader safeguard observations are separate from the83-method inventory and57 scanner definitions; the repeated duplicate-population control is not counted as another distinct production mutant. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/TOOLING_REGISTRY.md new file mode 100644 index 000000000..b86157c7b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lazy-body-profile-publication/TOOLING_REGISTRY.md @@ -0,0 +1,45 @@ +# Tooling registry payload — exact-scope Layer A auditor + +Root685 owns canonical STATUS/GOVERNANCE/TOOLING integration. This contribution is a proposed bounded auditor entry, not a federation green result. + +| Field | Value | +|---|---| +| Tool id | `CBZ-LAYER-A-EXACT-SCOPE-v1` | +| Contribution location | `cbz/contributions/math514/layer_a/` | +| Alternative admitted location | `tools/cbz/exact_scope/`, preserving the complete layout | +| Runtime | CPython 3.11+ standard library with exact public vendored lexer | +| Contract / schema | `SPEC.md` / `README.md` | +| Purpose | G0 auditor selftests/source mutants; bounded G1 exact manifest/hash/classification/mapped isolation, exact Python AST and A6/A7 binding | +| Current affected-scope verification | Current composed evidence: 56 distinct methods freshly exercised in affected scopes (45 lexer +8 added lifecycle +3 retained harness methods),27 unchanged auditor methods reused;19 affected scanner mutants per mode plus38 unchanged historical scanner mutants, with grader safeguard observations separately version-bound. No fresh whole83-method/57-scanner-mutant run is claimed.; see sealed fresh/reused accounting, no fresh full-suite claim | +| Historical Main#697/027 verification | 70 tests; 53/53 actual checker-source mutants killed by assertions; zero errors, at its exact recorded source | +| Current composed receipt | `evidence/composed-admission.json` | +| Lexer component receipt | `evidence/lexer698-admission.json` | +| Historical receipt | `evidence/g0-admission-final.json` | +| Historical receipt SHA256 | `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7` | +| Earlier generations | 56/39 `g0-final.json`; 60/44 `g0-hardening.json`; first repair 69/52 `g0-admission-fix.json`; exact input snapshots preserved | +| Actual repository G1 | NOT_RUN; root final manifest/authenticated inventory required | +| Mathematical/scientific effect | NONE; no mathematical check or closure claimed | + +Historical focused same-provider postfix review resolved its five findings and literal operands at the old source cut. That review did not cover the two later canonical-lexer integration gaps or certify successor bytes. Report: auditor-postfix-review.md. Current successor review/admission remains separately recorded. + +From the complete admitted directory: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Choose fresh controller output paths. Raw receipts retain execution-environment paths; `EVIDENCE_PATH_MAP.json` maps them to portable contribution-relative files. Audit exits: 0 bounded STATIC_PASS; 1 findings; 2 input/usage; 3 output-write error. G0 exits 0 only when baseline and every declared mutant satisfy the exact assertion-kill rule; syntax/import/runtime errors and timeouts are not kills. Rebuilding/copying this package does not run G0 or any mathematical check. + +The repaired rules conservatively refuse explicit reflective loader names/attributes in both Python scopes, enforce supported language/module metadata for all retained and mapped external source, reject known unsupported suffixes even when mislabeled, read plain Lean prime/!/? imports completely and refuse unsupported/escaped/literal import operands/tails, and distinguish JSON booleans/integers in A7 observations. The original 44 source mutants remain; nine new mutants cover those repairs. Exact retained finding multisets and mapped direct/transitive quarantine isolation remain enforced. A nonmathematical review cannot waive source import isolation. + +The public lexer is the unchanged canonical Main#698 `tools/cbz/layer_a_scan.py`, head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b`, native blob `2eee3a2200082444093935291b9389c0795641cf`; SHA256 and byte count are bound by `LEXER_PROVENANCE.json`. A minimal seven-field metadata adapter repairs two concrete old-engine misses: numeral-adjoining axiom declarations and nested quoted terms in `throwError` interpolation. Its walker/context/standalone verdict remain unused. Existing actual Lean counterexample receipts and contributor 72-test/two-mode plus 66 lexical/23 A3 mutant evidence are reused; no compiler or mathematical replay is claimed. Fresh checks cover the affected Lean integration and designated mutants; exact fresh/reused counts come only from `evidence/lexer698-admission.json`. The old 70/53 receipt is retained, not relabeled as a new full run. + +Concrete separate obligations: G2 authenticates all elaborated owned declarations, including private/generated/macro-injected forms and exactly the approved imported axioms propext/Classical.choice/Quot.sound. G3/G4 actually build/kernel recheck all closed declarations/binaries. G5/G6 preserve/execute actual regression and semantic mutations. G7 authenticates dependency/runtime/fractions pins. G8 authenticates execution receipts, review/certificate truth, statement nonvacuity, classification truth and historical bounds/test retention. G10 authenticates complete final inventory and actual immutable trees. Root owns final admission/G0–G11. Arbitrary Lean SAT, float/dataflow/dynamic-loader completeness, alias expansion and semantic proof validity are not claimed. + +Completed applicable verification is reusable on unchanged inputs and assumptions. New defects/changes justify affected checks; a new agent, handoff or pending provider/process review does not justify mathematical rechecking. Same-provider source review and any provider-distinct process requirement remain separate from mathematical/mechanical evidence. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +Current composed evidence: 56 distinct methods freshly exercised in affected scopes (45 lexer +8 added lifecycle +3 retained harness methods),27 unchanged auditor methods reused;19 affected scanner mutants per mode plus38 unchanged historical scanner mutants, with grader safeguard observations separately version-bound. No fresh whole83-method/57-scanner-mutant run is claimed. See `evidence/composed-admission.json`, `evidence/existing-harness-current-receipt.json`, `evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md` and the two scoped source reviews. Three dynamic one-method source controls and10+3+2 generation-bound grader safeguard observations are separate from the83-method inventory and57 scanner definitions; the repeated duplicate-population control is not counted as another distinct production mutant. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json b/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json new file mode 100644 index 000000000..4ab4c74c6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json @@ -0,0 +1,17 @@ +{ + "files": { + "evidence/lexer698-checks/controller.py": { + "bytes": 7251, + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + "mutation_test.py": { + "bytes": 14692, + "sha256": "e6afa7a0ef6b3e5cd9ce3afb5a4784ecf5f3163c2ed36fef4a46a517f238b721" + }, + "tests/test_mutation_runner.py": { + "bytes": 1893, + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "scope": "exact grader and controller at completed lexer component; future lifecycle repair is separate" +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py b/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py new file mode 100644 index 000000000..16282263e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py @@ -0,0 +1,128 @@ +"""Reproducible affected-scope controller; reuses unchanged mutation accounting. + +It selects whole original test methods without rewriting their bodies. No Lean +compiler or project command is invoked. Unchanged Python-only methods are kept +in the complete source and are excluded only from this temporary selected copy. +""" +import ast +from datetime import datetime, timezone +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import shutil +import sys +import tempfile + +SOURCE = Path(__file__).resolve().parents[2] +OUT = Path(sys.argv[1]).resolve() +OUT.mkdir(parents=True, exist_ok=True) +OLD = SOURCE / 'evidence/pre-canonical698-source' + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +spec = importlib.util.spec_from_file_location('scoped_mutation_accounting', SOURCE / 'mutation_test.py') +accounting = importlib.util.module_from_spec(spec) +spec.loader.exec_module(accounting) +test_path = SOURCE / 'tests/test_auditor.py' +text = test_path.read_text() +lines = text.splitlines(keepends=True) +parsed = ast.parse(text) +selection, removed = [], [] +for cls in parsed.body: + if not isinstance(cls, ast.ClassDef): + continue + for method in cls.body: + if not isinstance(method, ast.FunctionDef) or not method.name.startswith('test_'): + continue + calls = {n.attr for n in ast.walk(method) if isinstance(n, ast.Attribute)} + literals = {n.value for n in ast.walk(method) if isinstance(n, ast.Constant) and isinstance(n.value, str)} + affected = bool(calls & {'lean_codes', 'check_lean', 'cleanlean', 'qlean'}) or any('.lean' in value or value in {'lean', 'project_lean'} for value in literals) + body = ''.join(lines[method.lineno - 1:method.end_lineno]) + row = {'id': 'test_auditor.' + cls.name + '.' + method.name, + 'line': method.lineno, 'end_line': method.end_lineno, + 'source_sha256': sha(body.encode())} + if affected: + selection.append(row) + else: + removed.append((method.lineno, method.end_lineno)) +for first, last in sorted(removed, reverse=True): + del lines[first - 1:last] +selected_text = ''.join(lines) +selected_ast = ast.parse(selected_text) +selected_methods = {cls.name + '.' + method.name: ast.dump(method, include_attributes=False) + for cls in selected_ast.body if isinstance(cls, ast.ClassDef) + for method in cls.body if isinstance(method, ast.FunctionDef) and method.name.startswith('test_')} +for cls in parsed.body: + if isinstance(cls, ast.ClassDef): + for method in cls.body: + key = cls.name + '.' + method.name if isinstance(method, ast.FunctionDef) else '' + if key in selected_methods: + assert selected_methods[key] == ast.dump(method, include_attributes=False) + +selected_mutants = [row for row in accounting.MUTATIONS + if row[1] == 'canonical_lean.py' + or row[1] == 'source_checks.py' and ( + row[2] in text or row[0] in { + 'empty-lean-findings', 'disable-placeholder-category', 'disable-axiom-category', + 'disable-native-category', 'disable-unchecked-declaration-refusal', + 'skip-malformed-character-refusal', 'miss-escaped-placeholder-helpers', + 'drop-escaped-constant-normalization', 'miss-multiline-commented-native-config', + 'disable-macro-gap-category', 'drop-lean-dependencies', + 'truncate-primed-lean-imports', 'silence-unsupported-lean-import-tail', + 'drop-literal-import-operands', 'discard-canonical-lexical-errors', + 'ignore-canonical-metadata-shape'})] +source_paths = ['auditor.py', 'source_checks.py', 'canonical_lean.py', 'mutation_test.py', 'tests/test_auditor.py', 'tests/test_mutation_runner.py'] +starting = {p: sha((SOURCE / p).read_bytes()) for p in source_paths} +report = {'started_utc': datetime.now(timezone.utc).isoformat(), 'selected_methods': selection, + 'selected_source_sha256': sha(selected_text.encode()), 'full_test_sha256': sha(text.encode()), + 'selected_mutants': [row[0] for row in selected_mutants], 'modes': {}, + 'claim': 'affected Lean integration checks and actual source mutants; no fresh full-suite, Lean compiler, actual repository G1 or CBZ claim'} +(OUT / 'selected-test_auditor.py.txt').write_text(selected_text) +for mode in ['normal', 'optimized']: + previous = os.environ.get('PYTHONOPTIMIZE') + if mode == 'optimized': + os.environ['PYTHONOPTIMIZE'] = '1' + else: + os.environ.pop('PYTHONOPTIMIZE', None) + with tempfile.TemporaryDirectory(prefix='cbz-lexer698-scope-') as tmp: + root = Path(tmp) + (root / 'tests').mkdir() + for name in ['auditor.py', 'source_checks.py', 'canonical_lean.py']: + shutil.copy2(SOURCE / name, root / name) + (root / 'tests/test_auditor.py').write_text(selected_text) + accounting.HERE = root + logdir = OUT / mode + baseline = accounting.run_one('baseline-identity', 'source_checks.py', lambda source: source, logdir) + results = [] + if baseline['outcome'] == 'SURVIVED' and baseline['tests_run'] == len(selection): + for name, filename, before, after in selected_mutants: + def transform(source, before=before, after=after): + if source.count(before) != 1: + raise ValueError('mutation anchor is not unique/present') + return source.replace(before, after, 1) + results.append(accounting.run_one(name, filename, transform, logdir)) + report['modes'][mode] = {'baseline': baseline, 'mutants': results, + 'killed': sum(row['outcome'] == 'KILLED' for row in results)} + if previous is None: + os.environ.pop('PYTHONOPTIMIZE', None) + else: + os.environ['PYTHONOPTIMIZE'] = previous +ending = {p: sha((SOURCE / p).read_bytes()) for p in source_paths} +report.update(ended_utc=datetime.now(timezone.utc).isoformat(), source_sha256=ending, + source_unchanged_during_run=starting == ending) +report['observed_status'] = 'PASS' if starting == ending and all( + mode['baseline']['outcome'] == 'SURVIVED' and mode['baseline']['tests_run'] == len(selection) + and len(mode['mutants']) == len(selected_mutants) and mode['killed'] == len(selected_mutants) + for mode in report['modes'].values()) else 'FAIL' +(OUT / 'receipt.json').write_text(json.dumps(report, indent=2, sort_keys=True) + '\n') +print(json.dumps({'status': report['observed_status'], 'selected_tests': len(selection), + 'selected_mutants': len(selected_mutants), + 'modes': {mode: {'baseline': r['baseline']['outcome'], 'tests': r['baseline'].get('tests_run'), + 'killed': r['killed'], 'other': [x['name'] + ':' + x['outcome'] for x in r['mutants'] if x['outcome'] != 'KILLED']} + for mode, r in report['modes'].items()}}, sort_keys=True)) +raise SystemExit(0 if report['observed_status'] == 'PASS' else 1) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/mutation_test.py new file mode 100644 index 000000000..3d4ca0d41 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/mutation_test.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if entry.get('status_evidence') is not None:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def run_one(name, filename, transform, output_dir): + """Execute the unchanged behavioral suite against a temporary actual checker mutation.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + (root/filename).write_text(changed,encoding='utf-8') + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(root/'tests'),'-p','test_auditor.py','-v'] + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + try: + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + except subprocess.TimeoutExpired as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + tests,failures,errors=parse_test_result(output,p.returncode) + if p.returncode==0 and tests: + outcome='SURVIVED' + elif p.returncode!=0 and tests and failures and not errors: + outcome='KILLED' + else: + outcome='ERROR' + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode,'tests_run':tests, + 'assertion_failures':failures,'errors':errors,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + command=[sys.executable,'-B','-S','-m','unittest','discover','-s',str(HERE/'tests'),'-v'] + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + tests,failures,errors=parse_test_result(baseline.stdout,baseline.returncode) + results=[] + if baseline.returncode==0 and tests: + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline.returncode==0 and tests>0 and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py new file mode 100644 index 000000000..ad04c013f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py @@ -0,0 +1,44 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/BUILD_REPORT.json b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/BUILD_REPORT.json new file mode 100644 index 000000000..cafe23521 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/BUILD_REPORT.json @@ -0,0 +1,76 @@ +{ + "schema_version": 3, + "actual_repository_G1": "NOT_RUN", + "current_composed_receipt": "evidence/declaration-numeric/current-composed-admission.json", + "current_method_inventory": 94, + "current_mutation_definitions": 60, + "fresh_current_repair_methods_per_mode": { + "normal": 52, + "optimized": 52 + }, + "fresh_new_methods_per_mode": 7, + "affected_predecessor_methods_per_mode": 45, + "reused_predecessor_methods": 42, + "new_source_guard_mutants_per_mode": 3, + "reused_predecessor_mutations": 57, + "new_full_G0_suite_or_CI_run": false, + "new_Lean_compiler_runs": 0, + "new_mathematical_checks": 0, + "predecessor_evidence": { + "actual_repository_G1": "NOT_RUN", + "all_lazy_profile_generation_guard_mode_executions": 16, + "current_composed_receipt": "evidence/lazy-body-profile/current-composed-admission.json", + "current_method_inventory": 87, + "current_mutation_definitions": 57, + "current_repair_checker_mutant_executions": 0, + "current_tool_admission": "Composed finite source-bound evidence; lazy-body changed-hunk independent review clear", + "fresh_current_repair_methods_per_mode": { + "normal": 4, + "optimized": 4 + }, + "fresh_final_none_profile_grader_guard_mode_executions": 6, + "fresh_final_none_profile_grader_guard_mutations": 3, + "guard_counts_are_distinct_production_mutants": false, + "independent_review": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "independent_review_sha256": "8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933", + "initial_lazy_type_generation_guard_mode_executions": 10, + "method_inventory_parts": { + "auditor": 72, + "new_lazy_body_profile": 4, + "retained_harness": 11 + }, + "new_Lean_compiler_runs": 0, + "new_full_G0_suite_or_CI_run": false, + "new_mathematical_checks": 0, + "packaging_execution_verification_runs": 0, + "policy": "ordinary synchronous selected methods, every wraps-linked layer; exactly None normal return; no returned-object advancement", + "predecessor_evidence": { + "actual_repository_G1": "NOT_RUN", + "current_composed_receipt": "evidence/composed-admission.json", + "current_lexer_component_receipt": "evidence/lexer698-admission.json", + "current_method_inventory": 83, + "current_mutation_definitions": 57, + "current_tool_admission": "Composed finite scoped evidence; current lexer and lifecycle source reviews clear for their stated scopes", + "fresh_distinct_methods": 56, + "fresh_existing_harness_methods_per_mode": 3, + "fresh_mutants_per_mode": 19, + "fresh_new_lifecycle_methods_per_mode": 8, + "fresh_tests_per_mode": 45, + "historical_build_report": "evidence/pre-canonical698-publication/BUILD_REPORT.json", + "lexer_component_status": "PASS_AFFECTED_SCOPE", + "new_Lean_compiler_runs": 0, + "reused_historical_mutants": 38, + "reused_unchanged_auditor_methods": 27, + "schema_version": 1 + }, + "predecessor_metadata": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json", + "reused_predecessor_methods": 83, + "reused_unchanged_initial_lazy_profile_guard_mode_executions": 6, + "reused_unchanged_initial_lazy_profile_guard_themes": 3, + "schema_version": 2 + }, + "predecessor_metadata": "evidence/declaration-numeric/predecessor-metadata/BUILD_REPORT.json", + "current_tool_admission": "PASS_AFFECTED_SCOPE; independent exact-source review CLEAR", + "independent_review": "evidence/declaration-numeric/review/final-review.json", + "independent_review_sha256": "d41632dcd0e600fef55a2065b2a4bfe0ac3905c6f49414b9b960d47073d1d863" +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/BUILD_REPORT.md b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/BUILD_REPORT.md new file mode 100644 index 000000000..950f7ebd6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/BUILD_REPORT.md @@ -0,0 +1,13 @@ +# Layer A composed build report — lazy-body successor + +Current composed inventory is 94 methods: 79 auditor methods and 15 existing grader methods. This numeric-metadata repair freshly exercised 52 methods (45 affected predecessor Lean methods plus 7 new methods) in both normal and optimized modes; 42 unaffected predecessor methods retain applicable evidence. There are 60 checker mutation definitions: 57 unchanged predecessor definitions retain their source-bound evidence and 3 new metadata-guard mutants are killed by real body assertions in both modes. No fresh whole-94-method suite, 60-mutant G0, CI, Lean or mathematical run is claimed. Current receipt: `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +No fresh whole-suite/G0/CI/build result is created by this package. The underlying auditor, canonical lexer, 72 predecessor behavioral methods, 15 grader methods and 57 predecessor mutation definitions are unchanged; the metadata lexer, seven new tests and three new mutation definitions are the affected runtime scope. Old lifecycle controls and body-trace receipts remain reusable under the static ordinary-None-return shape applicability assessment. Actual repository G1 remains NOT_RUN; final admission is root-owned. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/EVIDENCE_PATH_MAP.json b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/EVIDENCE_PATH_MAP.json new file mode 100644 index 000000000..aab4514ac --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/EVIDENCE_PATH_MAP.json @@ -0,0 +1,2949 @@ +{ + "current_composed_admission": { + "receipt": "evidence/declaration-numeric/current-composed-admission.json", + "sha256": "678b710139a3c94ad2f885ac92f0296dc46a17c8a2ebca7d2c89b89ed0df8706", + "origin_map": "evidence/declaration-numeric/ORIGIN_PATH_MAP.json", + "raw_receipts_unchanged": true + }, + "execution_root": "/workspace/cbz-0/tools/layer_a", + "first_admission_repair_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/baseline.log", + "sha256": "035ee585bef84ad7694aa2eaadbd34cbb69e85a4f5dd56671a1ced85863fc7a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-lean-findings.log", + "sha256": "8fcf3b72380422db6b5dbc24114c708bba98ed5bb3b2f40c173f57f9b0bfaa3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "f699bd44c76d815cb331b1c67ff92fbdde95b741ba2338e7d952f2ec8c936982" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-placeholder-category.log", + "sha256": "b02d37e8eb009e184ad2398d9dea0c0dbd84a7fb512d388cbf51b6f8c4578c28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-axiom-category.log", + "sha256": "5defe8453000b8075532997bdf321ecc97c4871fea2187ff9523779441248204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-native-category.log", + "sha256": "c44b8ff36fcf9feb5a4ad3aac21159291f9f33544d9587debc012a3daec8f674" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "a22a6ce8de8ff9ac0ffe2781555a56dad3635a1c8e9852d4f2469e3fc49ae773" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "37cb0baa00a05d3c8524bdb4499362b94fb9ac48e846d1cebbe249d3fae99d68" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "b93b1774c9399a062cf572fbe1bf8bb0e0e9a2df3d4629cd7a590d3587df7a7a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "68a620c649a7a5acf9589261cc8ff48bc3e73b67fe38c1a55bfb4d055c40f85b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "ed9b92ebbf11c7350cb5b4ac83a5d3f0bf3db1e4a8c2dd11c9e0279ca67a4743" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-macro-gap-category.log", + "sha256": "71f5eb78d9fff4be2bdc93d39db51e6bd9cc15ae7ad8cefb39d3ed5d914915b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-lean-dependencies.log", + "sha256": "4762ffe147d97bbda08d62aa931579f2d6417463b9fc6d5e06ecc39fcdeeb922" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-float-literal-category.log", + "sha256": "ac0ab8b47cc6a1304f497972aba1671a8242adb132c3b34e6b91335af47e5c57" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-python-division.log", + "sha256": "4bbeea25373dece5b4d3acb87b2ca36516b921e9aa2147994e3c2c6ed06c96c0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "a9d0ffbdfa02fca8578b54427dd75fd94a88b013e94f31897c05797d9f627067" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-python-calls.log", + "sha256": "e4d053e0c5e83d1a7ef4767825aecd97b9970b45ac43f89648ad14250cba84ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-exact-python-profile.log", + "sha256": "8a70910a54a4b99065070d00fae2a54759d31ad6c66b5037040bb1721550c56e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-reflective-attributes.log", + "sha256": "39b1b0e85321a969241316d9b44536461aeac1d4a7f8137882dbd26eceff1529" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "d1eaad42ab14edc5c389fdc23e6ed5be0487073c618b30aea97ee583203a5de2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "7cea846d09e9b5e3a108078b68c21d9bf99f6ff1d3f2a5b3a3d6f2ad1030e22f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "7bd49a32a49acf331192602ecb1bc6adad00d5781446b3e1abcba4130ca99e1d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "861755677918792b728691652430fc3882c5fa34f4e4e172038036f6799ef36f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "fe104794710a9fcc988ec00fd30cc2f0f673fec9f22096cbde41cd3bf82e0960" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-all-but-first-file.log", + "sha256": "c09ce61ced302a636076f019ec0820a0972948c9de56dae191dec7752b36b318" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-incomplete-classification.log", + "sha256": "d7a9b9db84d49725076312dda126f764663560b93d22d4fba450f0a5beb2dcaa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unknown-classification.log", + "sha256": "6a1648bad6a0fc958e611409335155e36f5fe755936aa5b1dd20b656511b3aa9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/disable-content-hash-check.log", + "sha256": "40b6d507b9249f404ee75226b35b504145dffc24c12f0eed0b198d6a2bd8dbb2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-symlink-files.log", + "sha256": "aa95a4514c4bc4d3174f8401b4ec749c1ff73e3de3cd77175f76af49b3f47c83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unreadable-files.log", + "sha256": "cb8b7c6e0250eef1abef6ac482caebb347501e7630469ebf5bcefe4689de6a77" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-unreadable-file.log", + "sha256": "5288f1404f514632ece6db189a89c11f47b8923a632c89a8b2a7018c77cafb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-relabeled-source.log", + "sha256": "157c43b9aba1c3467a6bd5860f28164ddc77ba029cb35121cdaa7cf0497ab44b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "1c789fe8b4a13549591f71cb087b9f7b9283001b80494edc6ac0c3e86a764f8a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "0a8e0c5cdafff4d949cd0dff33a1443f5e8b119406d81b045be591fa07d0d872" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "bbeeb6f474de7076efea92580432fd8c487cb6073fef42cb0c426ab7e5bb4500" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unpinned-external-source.log", + "sha256": "b8d8aa0c1d73aa157b9531dd820b6199d74e332dc598c709911767192c7abe15" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-nonmath-review.log", + "sha256": "b19d8ae22eb35e50ac83d99534281453b209f0d8822fb1875318b5ee1b11fe5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "aefeb71cc2b4d1dc174bc033f2e98f16a23c1170ce95ccaba6df99094842a8f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "2e0a19abb5fd46ca0926eed2b1d558f816cc999f89ecf0a70906f32f56f11964" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "4eb19695c95a7b8b26ea9ab56b71687ffea97cd046534e27394dba21eaa51d71" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "2411d93838c00ee16f3f3b9458d36a1b203911a57e38784e855b669d080e6b11" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "7ecb303944dd9ebb226f2e492540f04969f595bd0bf678ab1eb6e2733eef5b9e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "42e30f674a6a0d4749ed93ffa21338848245cf7a289f2978a64dd5d08ceaf1ec" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-path-validation.log", + "sha256": "b774c68691c606ca5b75e699055173eccf250fd1f314a22fb1a3cfe94e356cee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-quarantine-dependency.log", + "sha256": "19f7934efc959b9d4cf3c9becd537c3a8789f129263e04d3645a643de9800542" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-vacuity-coverage.log", + "sha256": "a44a0619efff83a4c27d539f707b940fd5fe3f32df15fd42ab9fdff4c48428c9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "ca0d569d629a4875d91dd6088440e804cbca9899027bc793d3c63f144faf5665" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f7bcb92174ec5093451ae2cc035a2f3da96f5b90aae938613701ffbe850c9df0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/skip-status-evidence.log", + "sha256": "7da893fd6a392a8e9ff02db6f5eb34237dfad9ec6389b9a2f54c90a3344c0da9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "09044c473fa4937a26756325814c8b4adeb52f5d48359423983008d83a4398fa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "64e38a3a7c5ad7215a418da61cac96c666ebad04403c332327f20a5e3e847a69" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/empty-final-findings.log", + "sha256": "e658a77937a5c9e1921470bb7563caaa342294cd565d328b6a5e90d6db18abd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-fix-mutation-logs/always-report-static-pass.log", + "sha256": "175c08d799121faabea62c0bb17adb40e426c984a631598a1e40ce3c0b438140" + } + ], + "receipt": "evidence/g0-admission-fix.json", + "receipt_sha256": "ffecf817f294d24ca1f80f21461e1023b6a19af67198f3def876205b886c6295", + "source_generation": "evidence/pre-import-literal-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "cb35887c3541427904eb75571faf1985940552513e3417483a1775f3dc8416b1", + "source_checks.py": "06fc364ab227b48c604d0d53b47af602bb867d63cef7f2203950455cac05db27", + "tests/test_auditor.py": "b7926609f5266ee0d4a9ff150c703427fc037884ba60a4b682ef18ce9ccd885d", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_G0_027": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/baseline.log", + "sha256": "48b479454164cbabc2e90514ca0689afc29d60f5eabc87ab7cefdd7c6666b546" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-lean-findings.log", + "sha256": "7d60d5f3bb35f075be2dc95ef516fde62144b44d82cb5a0cb69b263701dbb089" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "ddb42307fddb84a2c0a36578771ceec87768f58c5e9cde52a4cce3a192b216ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-placeholder-category.log", + "sha256": "2f66452bcc31bb46067e67e31bf0209e7d1626bc4fb0af569719622dcc663328" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-axiom-category.log", + "sha256": "af53c355f1253f75bd5b6d80a54b2b6023af21b5439cf16dfd075a2a698590bc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-native-category.log", + "sha256": "71fac7f9bb3fcc1679660c04ea70389ed8673d75c7dea4f1fb36c11420784736" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "b06acc22f5b30ce2ce0b6b5033d0c2869c03b697d447f2f7ce457a7095c31d8e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "29209fd0f78f24a2f62825b040dccc1b61f6a2b03c245dba7e7c034c95654488" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "859387901ba4ec1252bb492ceeb75218af8aec09890ff2b371e8d5047bcd1ee0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "e3d9e1400d7fecd704767e3b548f20b634c88eda1031d8a6056d0a7190e1346d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "90555f29ff16f769815d204a98d680ce9febede05d3d8411c27ddb54e0792e46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "c7a9c4d1972fb428b780bacaa796503099e729188db4b2927c27ed09769c6a27" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "167e0d9941f59ec7504e256ea162cff3cca6dd82a9b40f82b621b28936e5f25d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-float-literal-category.log", + "sha256": "df8ffc2253e7ecfe3a0b73500e4bba0f298c1887f21ca69d9dd666a3da782df4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-python-division.log", + "sha256": "def3d45be08a0f303901211aa873b46534d1c7045995e9095e6e247f7d2f856f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "335ca04a0e1bf3f084430b3102a290645ae04d5b1aa284bd1573f60285129e94" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "18a29b8e22b569b9b5680bdebbf87507a7aed8a690e4d1d99d0309160ec0b6a7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "602dea685d404fc0994f8d24fc6549183f17cf36a397509c1d3f201f5ef9f2de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "83d0c4b27f18c217c2fd37126fb97c60a9c5effe95c9ddaeece1454266546bc5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b2cee8aa9785ef3ba893ff8e4861b61e10a77b14a1f9f7df1742b7b66aa7b836" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-reflective-builtin-loader-gap.log", + "sha256": "275ba0b2f074ea7aa4417a532ded58a69f392a6a2c45d93522ba213d7bb15177" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-reflective-loader-attributes.log", + "sha256": "a5ea11b28c313e410040d2b7afce62e87128279a7bfc879b7c4aa441e4aebdb9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/truncate-primed-lean-imports.log", + "sha256": "dc519920f39c3fd04b7b44db148f698e7256d101be93dd5c2b0aa18f788b3fd9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/silence-unsupported-lean-import-tail.log", + "sha256": "b333f3041f329843a38da7131a07e1839e2c754ea6f07b2af7ee0e0f39fa25e4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-literal-import-operands.log", + "sha256": "410e61212b6354356dcaeb8b5d3c3c52f4ee33269aeefd6b32e8a81d44b6993b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "50c0d7b823f1abea680798c069712ce1516bacc6c4b609888540b0c3412a7ea5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "8a803a3599cf9ffc65854dfa3658e593e11a72625915c53228af3b0128f95889" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unknown-classification.log", + "sha256": "4630e7a7efbe0c4cd6c5c0f8d5dd1f4df38d6a807920bf6ad46c821f2411cd19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/disable-content-hash-check.log", + "sha256": "474e7b7a67c0474af697e11d1fc013f6cbedd2ded18f87d0c8641de9825f55cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-symlink-files.log", + "sha256": "a3996be3912b71c1254f547281b0b76c229642d6bd2c9c4e7b35e1c5c2e3deea" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unreadable-files.log", + "sha256": "c46c2db2a36b646a7e7d3744056202a3ab288f10e09c7c2521b936af9f4767f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-unreadable-file.log", + "sha256": "a1b95b365c3656990bc063216683e59d55f6139d24e489b9928f6c7e586b0307" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c4cbde0b19afac1e3b1b87bccfd40c10462097e67303d58e3c1961cd0a1e1d6f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-retained-text-language-requirement.log", + "sha256": "ecc5c89043ac9062649cae944083e3aa1bac889e555070482eb42132b39628fc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-mapped-external-language-requirement.log", + "sha256": "472fc25b11fb884cd4b9c1584f26f25062ea33e2b066be4c325a5038f6fbb7aa" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unsupported-source-extension-language.log", + "sha256": "29a7eb7c01feb5349be81eec2d7e6f234d973ac27dfa1a7f27b4595f28ff07ad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "45433e33b0d2d43fa5ec453d41d11a9d411913c8874335b749228131fa6d3db0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-nonmath-review.log", + "sha256": "d989c3d14c5f113afadb92542ddc003e6db73304ab899da8e3e4866dc660b8ff" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e05f6a90e53af70d6d281fc568eafb49c6c6ab0fab0da67da46a106310d6fd08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "354717b75dbd51b852f4ee79a4b12311a91295577e9483c969b159375a14e4f7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "34de8bc4e62ccc8747a50468f1af22fd40fee9e07a470f6df897c6a2d32afdbf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "cd93029536e8cef3b5f99a2f6d8953888be0e7b07b8073482afb8f975edb621f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "28eba93ce01222c100c54918b813a3c59acf5169cb543bbbe75abb2862c714df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f97582b7bd414f5cd284d54e3d4cd051bd214509247520498da8ca768ee7b5f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-path-validation.log", + "sha256": "2d3e105b6d538ee3e3a1c4cf8870a4af57a62a57ebae175e6efc7edf4dc19403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "c98e2cb88d000d7748b182d066594bd3b7b00798b0f814c16795b3b0196b556e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "1041557b10b61dae07ea6b8caea95cd9adc74736566ec1b560917506053e1cf5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "e6d62067d8a9e8f03cd0fe1efec00f33bc3e2975517acadfc2d891bc922a8ebd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "31379a84aaae69b63392e7a0d08477af53a8fb85906b9deefebb29b73e3f4993" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/skip-status-evidence.log", + "sha256": "018575693ea5d8b5f68982570c1de49f7ae282353564d7456a034e26cdd05bf3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/conflate-status-json-booleans-and-integers.log", + "sha256": "190cb864e83f17137de943c1cac74d3c0e0a6bbe61db9a96195fa69813442655" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "8bb9d5535025ef79a3583c4187a4007c9eed179bbae20fb43332665e5c90a47e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/empty-final-findings.log", + "sha256": "97111a1733e4b1b079dd307a39b3c855da80c06375d135ddbccb88c14f551132" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-admission-final-mutation-logs/always-report-static-pass.log", + "sha256": "bb42f937a9ee2f58e2b40f812c28ba3373886a7f639ba7fccea6982c995aebb5" + } + ], + "receipt": "evidence/g0-admission-final.json", + "receipt_sha256": "8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7", + "source_generation": "current contribution files", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "0cfe9128e9a79cff349f1063c6cdc515fdf11645e61375cc5da0d25129823888", + "SPEC.md": "9f9725a3d49af55370cb0f33141aa16b882021416cace7889e54be85df626e29", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "6d50e45680fb031768397f77ee21f091686638cf33167e496370348a41423623", + "source_checks.py": "9c73ecdd4fcc265165af564725738bc0a8ac4f79bba2c82b7d327fd90821fb94", + "tests/test_auditor.py": "61c22bb335490ba6b9e4b34fbdb0db0047d06e820575dc00500ebdf715847c9e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "historical_custody_limit": "Early development reused some baseline/per-mutant filenames. Exact original failed aggregate/stdout/survivor are retained; later receipt-specific final logs and all named source snapshots remain separate.", + "lazy_body_profile_successor": { + "baseline_metadata_archive_origins": [ + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.json", + "source_git_blob": "7b62898cb1a90b5a48e9d3144dd82eb4513ea1e3", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.json", + "source_sha256": "c6456ba43f2e387d8389c4d4ee9dcb800535fa5476159a61bb23b17498c1d6b4" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/BUILD_REPORT.md", + "source_git_blob": "fd7355016bea5575b674ec9500eb4b308e7e122f", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.md", + "source_sha256": "bea59d45143b447c9ce7cd055fe9cc812e28e2deec3e38a9d488f46eb0e75629" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/EVIDENCE_PATH_MAP.json", + "source_git_blob": "fbcc64795d1e438225d08413e050711df2e4934c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/EVIDENCE_PATH_MAP.json", + "source_sha256": "2388d4245c4a90baa7200d1488ce2354401dca9c1b4e8f55ebcf0c964dc3bb31" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/PUBLICATION.md", + "source_git_blob": "598783b9406f658001326d4ee7ff638b5b43fb2c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/PUBLICATION.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/PUBLICATION.md", + "source_sha256": "8357b3a08d635cef8436874a2e6ea8372ffc4afe1d3af35c267f0e8137143fa4" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/README.md", + "source_git_blob": "72af659f6fb0e607b794ddfc211c2808fac9be63", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/README.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/README.md", + "source_sha256": "ccd3fe778ab5382ca91080ac715f8b184ea67dd3d6277021dca08b0caf4c5b63" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/SPEC.md", + "source_git_blob": "2004b85a1a40a7b40d869faac4a69b8a52276f98", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/SPEC.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/SPEC.md", + "source_sha256": "efce0799e3608c889b1f6d2d34b48001554f99ed4561f75eaafbbe897ce2c061" + }, + { + "kind": "published_baseline_exact_copy", + "relative_publication_path": "evidence/pre-lazy-body-profile-publication/TOOLING_REGISTRY.md", + "source_git_blob": "b86157c7bf98c1b6e0e5429a16d7274d92b6e59b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/TOOLING_REGISTRY.md", + "source_sha256": "df8a855486a25283ea376a545a660cb5d203ab65902f113e24c356f06d325ea4" + } + ], + "current_composed_receipt": "evidence/lazy-body-profile/current-composed-admission.json", + "current_composed_receipt_sha256": "ac4930ab275111ed859dad8ad56a6ef754ad3872b1e1276ee7b0463f225da0af", + "derived_publication_metadata_origins": [ + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "7b62898cb1a90b5a48e9d3144dd82eb4513ea1e3", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.json", + "source_sha256": "c6456ba43f2e387d8389c4d4ee9dcb800535fa5476159a61bb23b17498c1d6b4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "BUILD_REPORT.json" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "fd7355016bea5575b674ec9500eb4b308e7e122f", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/BUILD_REPORT.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/BUILD_REPORT.md", + "source_sha256": "bea59d45143b447c9ce7cd055fe9cc812e28e2deec3e38a9d488f46eb0e75629" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "BUILD_REPORT.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "fbcc64795d1e438225d08413e050711df2e4934c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/EVIDENCE_PATH_MAP.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/EVIDENCE_PATH_MAP.json", + "source_sha256": "2388d4245c4a90baa7200d1488ce2354401dca9c1b4e8f55ebcf0c964dc3bb31" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "EVIDENCE_PATH_MAP.json", + "self_hash_binding": "External complete FILES.json binds this map without a self-reference." + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "598783b9406f658001326d4ee7ff638b5b43fb2c", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/PUBLICATION.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/PUBLICATION.md", + "source_sha256": "8357b3a08d635cef8436874a2e6ea8372ffc4afe1d3af35c267f0e8137143fa4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "PUBLICATION.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "72af659f6fb0e607b794ddfc211c2808fac9be63", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/README.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/README.md", + "source_sha256": "ccd3fe778ab5382ca91080ac715f8b184ea67dd3d6277021dca08b0caf4c5b63" + }, + { + "path": "evidence/lazy-body-profile/current-composed-admission.json", + "role": "new scoped composition; no new full-run result" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "README.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "2004b85a1a40a7b40d869faac4a69b8a52276f98", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/SPEC.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/SPEC.md", + "source_sha256": "efce0799e3608c889b1f6d2d34b48001554f99ed4561f75eaafbbe897ce2c061" + }, + { + "path": "evidence/lazy-body-profile/current-composed-admission.json", + "role": "new scoped composition; no new full-run result" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "SPEC.md" + }, + { + "inputs": [ + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "b86157c7bf98c1b6e0e5429a16d7274d92b6e59b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/TOOLING_REGISTRY.md", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/TOOLING_REGISTRY.md", + "source_sha256": "df8a855486a25283ea376a545a660cb5d203ab65902f113e24c356f06d325ea4" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "TOOLING_REGISTRY.md" + }, + { + "inputs": [ + { + "source": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen-manifest.json" + }, + { + "source": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/independent-lazy-body-review.json" + }, + { + "kind": "published_baseline_exact_copy", + "source_git_blob": "00a333b860b63a00f5f4bbfe92e4742e83730e0b", + "source_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "source_native_path": "cbz/contributions/math514/layer_a/evidence/composed-admission.json", + "source_path": "/workspace/cbz-0/delivery/auditor-lexer-fix/files/evidence/composed-admission.json", + "source_sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + } + ], + "kind": "derived_metadata_or_documentation", + "recipe": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/packages/layer_a/compose_overlay.py", + "recipe_role": "packaging only; no execution verification", + "relative_publication_path": "evidence/lazy-body-profile/current-composed-admission.json" + } + ], + "exact_copy_entries": [ + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/REPORT.md", + "relative_publication_path": "evidence/lazy-body-profile/REPORT.md", + "sha256": "455ff41c5053a43fc14028babf1dcb954c30e4f4b1edd65938e2617dfbcb448b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/SHA256.json", + "relative_publication_path": "evidence/lazy-body-profile/SHA256.json", + "sha256": "813f4ae7353b953bab6eacdbfc550449b0b8371aa92ef082874a6584d64b350a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/evidence-index.json", + "relative_publication_path": "evidence/lazy-body-profile/evidence-index.json", + "sha256": "54f031e3e78eb99db76a4bb52993e74d528817ac0a2bde32e714d8180da6a66e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen-manifest.json", + "relative_publication_path": "evidence/lazy-body-profile/frozen-manifest.json", + "sha256": "ab20f9cffe26dee07210df2cefd03bce18188cc32879486cf2c9bd9775742735" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/mutation_test.py", + "relative_publication_path": "evidence/lazy-body-profile/frozen/mutation_test.py", + "sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lazy-body-profile/frozen/tests/test_mutation_runner.py", + "sha256": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-none-kill.json", + "sha256": "546a0487b817320cff8a25133b5ee00852a7c5ab4c2cbbaf4732420797fd73d2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-pass.json", + "sha256": "1a9c49e8a6d6cdd6e5646c9a57611303c40dc46d72afbac6554329dc7b26cbf2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "sha256": "45847f4a4001ced04cf789501e107e0a5fa96e5d83be8f35317c7298ee11fb7a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-empty-string.json", + "sha256": "d96e11963dc875e2ff8904bda1f204efd2eda75076d99e7e96fcab4c48e6609d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-false.json", + "sha256": "10ee868a3a1ce9ce55af82d43fcc4d96c0e1c4207bd0974593a876d821627054" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-scalar.json", + "sha256": "49680bf10b970366faad6c2a54f887d74d4037c0a2b6dcd88b8e98d4b962427b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-falsey-non-none-returns/return-zero.json", + "sha256": "0789f0d376f08f6ccc7ece63a6f96addd287e083eaf32bf9cccdbd8f3e32615a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-none-kill.json", + "sha256": "793b6c856f0ad638cd2ff94cdbc62271082f0151381c5f396beb1026a052fdcc" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-pass.json", + "sha256": "e2d19461f0f6e62989af51d4372788953ab4d592d0999369f61b9595f7a2006e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "sha256": "31cc693cb9e4fbf80bf7221acdde18badd4260e1a5d142eba74f5b1d523d5cd7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-empty-string.json", + "sha256": "bf77ca2c29670567889cc782c5ca9f9fe337c273e346e758380b7fc1d7d01047" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-false.json", + "sha256": "5175d675e72360866f0b9e213e2b609be700ccc4f137244af20a9579ab9ab677" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-scalar.json", + "sha256": "81867e3c01aa4a019bce93e151bf7e9cc47cd6cecc04ee34f37de9903421cc5b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/accept-non-none-return-objects/return-zero.json", + "sha256": "68996708e7d3406d4dbcf84c3ece9a12f2b97076232ffb5142397859ddee00b9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-none-kill.json", + "sha256": "a9bbdcc3798dd64caf37157be379d25acc9d5a3cd9793e04f8b1f99f9837d895" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-pass.json", + "sha256": "a91be2e837d85a775429ba28d02df3e76dcc42d5440d3c713f8f0460804c6c37" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "sha256": "2e455ff69fdd3853059ae3edff08f3e263ee81267d1fdcb856ef627e5e05f6f7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-empty-string.json", + "sha256": "b742457d9a1f0c6ef23cfdfada3727e56c7807903488806327d5d0b1d37a5e6c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-false.json", + "sha256": "d9287bddd0970ba4b9798eb39a41076e6faec9b0097955a9ba61c4638b8c1352" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-scalar.json", + "sha256": "4f2655314c829566c904f84ea54a1ab02d1781473bbae0bf388eedabc986a0cb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/normal/iterate-unknown-return-objects/return-zero.json", + "sha256": "6f4215bf662424e2babe77eda5b5d098afb508ad16bb35461f8864260b7884b6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-none-kill.json", + "sha256": "2610f92083254af3702c77027744df50c4356fb0f545a092389094b5307dcf55" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-pass.json", + "sha256": "b515c26385d560098d6fc9de66b9f37422457f6df6eec542d75a0902019674a8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/ordinary-unknown-iterable.json", + "sha256": "49f1c1b4253966d0b154b180b2e0bbe215ee5e47aaa523dfa5af1049d32dcfd5" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-empty-string.json", + "sha256": "f18573ad508dd892b347e78ad17752cd25e1ee3549d737bec5228a698deb9aed" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-false.json", + "sha256": "eea7d35092dc3f57deec300fe0a7e69b89c0d03e5fe6f8fe4b6ab10be5f9347f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-scalar.json", + "sha256": "dbe6338cbf3a72737f2692e995ab15801abb9ea5b27f642621b10ee533bd6140" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-falsey-non-none-returns/return-zero.json", + "sha256": "a9ac153790a7ca3de0ee10cd9b82d5ebf874e0c85b3c85eeffec3864b849c51d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-none-kill.json", + "sha256": "7071407442ade42001a96700df46ffdd3e4ccf89b8839f241ad25c3e684e40af" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-pass.json", + "sha256": "e88f2754afabd0709b2d5849485e4041221a3991bccd5cf717c7669f62f66365" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/ordinary-unknown-iterable.json", + "sha256": "8b2d18cddeae3b978a75c1237c3e6db7de6ea2a0a80333ac5cf107031d788180" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-empty-string.json", + "sha256": "a4eb5eb2e12d97aac180844ffef572671e9f69dc951dc8edc65ff65cba1758d8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-false.json", + "sha256": "5c0e6cf470f852d0a1d063b5c1d9706523bfabeb86f017f3de05367c4a5fe2f3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-scalar.json", + "sha256": "d36244bc7b02af2414656a22641e9c3143cdfa260bcfb886206f41ae7fbc2dbd" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/accept-non-none-return-objects/return-zero.json", + "sha256": "fef668883385084778005cc9a80145eb560bae184c17d9696a87837a854f9948" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-none-kill.json", + "sha256": "1e7bac7dda4704cf38b4ccd813c03eadd551ec71c5dad27ceb68a78f1a54e7a9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-pass.json", + "sha256": "caacde0586c9f66c72398210da982cffcf4b643f25f9cd913a539d0eac4b8ab1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/ordinary-unknown-iterable.json", + "sha256": "eb2b41e9c5c1bf4407787bbe583cf7557cf6d1d277eaeecb0061731356a4d935" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-empty-string.json", + "sha256": "3093c4ecf8019ce58b98bd649b569e1fde0a10956fede08ebaeaa8719657dd26" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-false.json", + "sha256": "7c22fdf23cbbdf616b7ca67e1ff3afa1ec0a8c34881a1d6f6d1b79846cc190d3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-scalar.json", + "sha256": "bf9302c233cf02fbb7c4b64b12bdeca1fded6a42b90a30a4c66f93b53c6598ea" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/guard-fixtures/optimized/iterate-unknown-return-objects/return-zero.json", + "sha256": "94349d53f897e0153fdc5434ec7ad510ff95868cb7f22e3bbaf71feaef40abb4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/layer-a-lazy-body.patch", + "relative_publication_path": "evidence/lazy-body-profile/layer-a-lazy-body.patch", + "sha256": "74c45e0f03610cc52f5a11bf46e141456b16209eb5e70696c274f507ce519f57" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-async-generator.json", + "sha256": "5782bffb030c2547c28cbcbea5af75bc3b4b049ba9245dc3bce78c9553a4ef19" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-coroutine.json", + "sha256": "db92a07efac7c5835fd0217cb6b3e801e3525791278c8c05f2559a0298d358de" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-custom-awaitable.json", + "sha256": "c2c4dae7adf7428defe36e546bf2c191d198472a7486ddd0f632a5a7add64df2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-custom-awaitable-returns/return-generator.json", + "sha256": "109cf855dbf3cb0a112ec5e84ef6e8fc38b340cd42218fc495e269d6b0bcf95e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-async-generator.json", + "sha256": "4119f662f38163dab2281b09b4870fc33a3970a999ce1de2f5a4b805e3f68547" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-coroutine.json", + "sha256": "cae461c8c221abac82cf8dfa5f1ca60c698ab826cdfbd84bdf44b9c4e8972707" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-custom-awaitable.json", + "sha256": "bd564c7cb8db830db209ac68cc465590b3e95ccdaeaf9fdfd78567fa423c23c8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/accept-lazy-return-objects/return-generator.json", + "sha256": "aeb0d29f91c6f9baffb53def30467609199a009bf43f004545c2e6fdf56a24fe" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-async-generator.json", + "sha256": "7bd87726c3f00bcf1675747093f25754a54133aeba7bd570ba3e0a4c31d4a4e7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-coroutine.json", + "sha256": "3d324ccda4b8290b4231cc3cdc0c99a0eb396583c2a4019d17e8c28b07283d74" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "sha256": "e68cd6a0bcd718145e7cca2d82006e53d5ef19068b48efcf2979d9cfe615d646" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/advance-coroutine-instead-of-close/return-generator.json", + "sha256": "9b0b25325310aea727ca8487c7a02bcbe35f54c251dc2203b7ffcc1792bfb717" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-async-generator.json", + "sha256": "459f307329fe4c5d685006ea438e0910023597174fae58d7d48e1d62ee114de1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-coroutine.json", + "sha256": "1a1221a7f8a1be3c6c42855f949720762321fa4a7052a4ff3cc6d9f9482cbf16" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/drop-pristine-lazy-method-refusal/method-generator.json", + "sha256": "bf62558a75f1ed3927f6a9309ba785a60a396c165b297dde565cafebdc38b0c7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-async-generator.json", + "sha256": "5a4ed48af34668a150cbbaabdbed807212a1db137c0f420507c2c5bb81a4f2c1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-coroutine.json", + "sha256": "56e55fbf9f4f8b0e1af3817390fc7aa08a8491da2f26cb0f50116393be79e65f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-generator.json", + "sha256": "4987d3caeb119b1f9bc108c826ddb9ff8ac89dcb9f2a13850087f6d08fc85901" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/normal/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "sha256": "97fb49ab186bd6dcb9e5efa08dfb5acd335b5bf7fab15b9d70fe649a7b364e86" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-async-generator.json", + "sha256": "a5cbef941c2010e9209307ead48bebfbc13546b9149e9b60aca0e97477e30bfe" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-coroutine.json", + "sha256": "baefb71d5c8d1358ab57a458212d5434c4376b02b54c8e64dc9fae57c9316f89" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-custom-awaitable.json", + "sha256": "66b14b689cdc86cd5b6f8755cc09983d1b3bf30a6a411be3387f6dc505796b7a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-custom-awaitable-returns/return-generator.json", + "sha256": "6a9bdf9451c0e68887d373c22aeebb2a48a0bc708c1ca49bc272d45df63a5891" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-async-generator.json", + "sha256": "0689128454c38d6887d3f16044519b0db62b79279035f63bf4265ba050d6af65" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-coroutine.json", + "sha256": "ad79c076eb904ce3f4e09d654d6e0f6d9fa29a7986a927c543073196f9bc4647" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-custom-awaitable.json", + "sha256": "69418b9a562b3580fd2c391116e5943cf2c879d4a4fc17d03d155be16126cbe3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/accept-lazy-return-objects/return-generator.json", + "sha256": "0b0f08fb3f49dff0ee1ccc5ea9bd333e731e1c46dc800ff3bdbd31392da44d4e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-async-generator.json", + "sha256": "c276402372cfd3b23f38c0d04cdedaa83887b40791b416675fb009d5739c1fb0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-coroutine.json", + "sha256": "00375b3018dbb38ed995e0cdf1292d88f0b495624c06643e188b06e99e14ad39" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-custom-awaitable.json", + "sha256": "945f7f31a14926921aa730951d2592d3bf6fcb6ff8698efab0d183c9d09fd9f8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/advance-coroutine-instead-of-close/return-generator.json", + "sha256": "2bce417c754d5d1c4e8faac6d117e54471a318900fed74d3afe1233816fbaf43" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-async-generator.json", + "sha256": "1cd60a7e04e15a048e4d6442f5717a97b4a8a52559d589f2cc03ec4ecf47f44a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-coroutine.json", + "sha256": "56761ec13c26959f4e1f4687c4c7c5b466875d1c61ee40234553bf2a56fbe265" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/drop-pristine-lazy-method-refusal/method-generator.json", + "sha256": "b7e863c69fe7f239e622ad2df4c88c54e770da3be597f0d4f40dc9b22163e161" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-async-generator.json", + "sha256": "9af887cff27efe939bb6259ab2f94a8ac2f386ff36deb7f10bb990ed5642d41a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-coroutine.json", + "sha256": "34112cfbaa4f193e895e3ff8282c9adcbdbbf73ee4db1deb82d40ff2458033d4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-generator.json", + "sha256": "ab76848c7281e5e1cb9dbd0adbc8bc6bc019899c92e1564db11daa37c805a64d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/guard-fixtures/optimized/ignore-middle-wraps-layers/wrapped-lazy-middle.json", + "sha256": "6fb59b3869ecb457182a695c1f92bbf7ee0fc49146b1a2a7fb126e3fae6f2d45" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/new-guard-source-controls.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/new-guard-source-controls.json", + "sha256": "238b21383ac2e67c70177e99f722e6514c673b19c92b966cdb915733a03ff6cf" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-accept-custom-awaitable-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-accept-custom-awaitable-returns.log", + "sha256": "f98a58d94ea390a8c59d0154b6537d0caa22afb3c199f639fc0408677e826be2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-accept-lazy-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-accept-lazy-return-objects.log", + "sha256": "096fcb129d15d6538af4ccebcd964e0967f85ff4462e95156a92167bd3a69cd4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-advance-coroutine-instead-of-close.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-advance-coroutine-instead-of-close.log", + "sha256": "d3b61f30797121ada03de3d9c516f8612f1da70302863aad4eea4eace1f64798" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-drop-pristine-lazy-method-refusal.log", + "sha256": "1af2ad87f3ebf353950cd468af5e4c686228d616c3c58ae91b34cba55d7c4dad" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-async-generator.json", + "sha256": "f355eab504fa7e9a90de1f6b4de1c41c1497f3478d52b2c02b5d3bcb6ffeea3a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-coroutine.json", + "sha256": "8e39b10b04e86d8a6a4179a8982b47ea869a5b7dfd34d4c179a0b38f626ae4ca" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/method-generator.json", + "sha256": "9e4c665b333c4e10143053dceb7b15a881400e2a956c0d693a2760961b3b720a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-pass.json", + "sha256": "f4a5cd3eeadafc96fe72f3a93f118d44ad1d8b0931c9686fde2589877f323517" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/ordinary-unknown-iterable.json", + "sha256": "1baff3e4f75430c91775f50859a6083de2b0ebc8c4c3be347eb91a6b7494fde2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-async-generator.json", + "sha256": "73716271ef8fc91aa4b960548f8ddaad6f889e1e4479d8805f0f6d60812d84d6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-coroutine.json", + "sha256": "95955d5978be4ae58fa2cc6728cf3c46afff5b9a1611947b2e991628fa9409e1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-custom-awaitable.json", + "sha256": "ed0f0985ca9d14428adcea6f6e86fb2704b6e3708fe0e351c87de4841d4fddfd" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/return-generator.json", + "sha256": "b9bb90803b9ec5ac074e4bbe69f049eed5e6d5a3406f60b32f0e0cd66b818399" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-async-generator.json", + "sha256": "f53a2aa84fa9d75dae5845058882060f0c90b17700a6aeaefe59627f91b5e894" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-coroutine.json", + "sha256": "9b7894d1a022b4e2ae2dc9bab58d2f1d6c6a9c3c2baa39685c9035200007ff31" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-generator.json", + "sha256": "db55656e367fd2c59adb60d17fd0f20bb7ab7df9d545e6438cfc58252e1c7a15" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-fixtures/wrapped-lazy-middle.json", + "sha256": "04e20b319fbeb47089411c21157662d8c27d75a10bf37e1fe26a59ec1c2d005c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-ignore-middle-wraps-layers.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-ignore-middle-wraps-layers.log", + "sha256": "407f235bb0052146a12670b95a4ab78936ca5fa8e2b2bde5e62075480f180709" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-lazy-controls.log", + "sha256": "3f74abeb9efd8d2a6b52352b04bd1de7ca472db4d801c143c82763fafc62f250" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/normal-middle-decorator-control.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/normal-middle-decorator-control.log", + "sha256": "c5b7865767c2d5ff0308b06c1dedad9678a3454f23cdb2c0ebee54784388f872" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-accept-custom-awaitable-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-accept-custom-awaitable-returns.log", + "sha256": "1f8098bd02513f56f5d6b35448ff5dbc2e3d756762c8159ae77acfa739a84253" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-accept-lazy-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-accept-lazy-return-objects.log", + "sha256": "2d132c375f2e255cd69480a46dfc99fde81f14162353e63f9a020bd05fd6d118" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-advance-coroutine-instead-of-close.log", + "sha256": "91136f9a8c4166c13d9f3ca1909cb2c580028bfe8f55aaaa830b5b0683d544f3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-drop-pristine-lazy-method-refusal.log", + "sha256": "ad28cdd8b06e6a43298004bb5a4afc3fccff128c3de14eea869ddcc67ab228e7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-async-generator.json", + "sha256": "13a7a7fb21967fec1747247704250250bbe65eefbe416c8af1fe9421a165a4ec" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-coroutine.json", + "sha256": "43fd1b427fc448730e589b28a717e62880d0223e1834675c5f20b4b11c778aea" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/method-generator.json", + "sha256": "88800a97edc0003802d83bbb00d8b01b5b3bca64d82d26ac8a4a4c6093952744" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-pass.json", + "sha256": "11a7b6fbe3c5596f2037fbf0a827ce4a3e8efc3280fd983e9a9aea2ffd21b994" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/ordinary-unknown-iterable.json", + "sha256": "c55ca1d66c138bb71cf5a5360ce1ce61e96cfea42f9b076088dcd28fd58b55a0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-async-generator.json", + "sha256": "b467db6092503d65472540654f38b988c796d645c84a05925c3220c8bc779236" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-coroutine.json", + "sha256": "b025ad49024eeb7829a3bbeaac7df8306d5b20102f724ab87c489b30352a7419" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-custom-awaitable.json", + "sha256": "095023623c8c3eaf563f2b64afe3857fabb27dd509556a77a8509612a905be6a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/return-generator.json", + "sha256": "57ad1c7c704b5a4ca36a8a18f8cdd71990a68bf0278fb27fd0c25a6e96dcd631" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-async-generator.json", + "sha256": "bb05833fa4266a768f4c86477f6466606df3ba5f4a301a9511171a836c390232" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-coroutine.json", + "sha256": "a1ea05da56a0f20ee6af1e402b451f02604a27154ec9c62bece931d21a03fcf1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-generator.json", + "sha256": "1f64453e0c34dfda710cba521af173125a5303825b4b492cf3f1f6a2d89ca6b7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-fixtures/wrapped-lazy-middle.json", + "sha256": "cb24b8c483e45c8c0066cb54ec3966034d6423d3c0895450dcc5f868109e32c0" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-ignore-middle-wraps-layers.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-ignore-middle-wraps-layers.log", + "sha256": "8baa23df02a8f17dff43efdb1fd2048fa5552bb91a615ea4d2f8467b6f7d65e3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/optimized-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/optimized-lazy-controls.log", + "sha256": "593132b829a0d077ae8542b425ef8f786397b6939c7ace83713e9a7fc00a9e40" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/run-new-guard-source-controls.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/run-new-guard-source-controls.py", + "sha256": "08a41c74058c3887c3eb34a232cd64c1c507cab3d4c8ed504e6c5d50a1ae2cc7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/source/mutation_test.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/source/mutation_test.py", + "sha256": "646465e99d9a82e4f79b4830a7c5e286da04a05f40bba27081fc0554b863cd62" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/lazy-types-generation/source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lazy-body-profile/lazy-types-generation/source/tests/test_mutation_runner.py", + "sha256": "142dffbcf56e1bfd3f21034f31f484f45954f7b1a381d4f558568b67f1d84ac1" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/mixed-generator-red.log", + "relative_publication_path": "evidence/lazy-body-profile/mixed-generator-red.log", + "sha256": "24af48646a104c428a673946b736347c5150a49224f6b04c0a128467d5327410" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/new-guard-source-controls.json", + "relative_publication_path": "evidence/lazy-body-profile/new-guard-source-controls.json", + "sha256": "88eefd9ff45f1d386329ab3cb499577bb0e3ab3052c45cecefd582d18ee1a3d9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-accept-falsey-non-none-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-accept-falsey-non-none-returns.log", + "sha256": "51c8bfa5fef9f7bf784166942301065a1b17fc1451c530111e7ca000ad061252" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-accept-non-none-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-accept-non-none-return-objects.log", + "sha256": "b43c342618dd83e53ac33fbf29442f34fbb1bb93e3cd9999ec596e42351fbd5c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-async-generator.json", + "sha256": "de1512a42f1746292c09c11068804112cd8a9f2dbcb21194df91299e5d821a2a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-coroutine.json", + "sha256": "1a5bf1be54b271406f770e5d594f42ec39ff99dad592eabe5764c989f84071da" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/method-generator.json", + "sha256": "7c553235cd2d9fb7acd29bb9de900eb5dadcb634715ff56121971b1accad1a61" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-none-kill.json", + "sha256": "652f070ff6849beebf49ee1a41432081d3ec893616721c1c7b4325bf806845f6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-pass.json", + "sha256": "6895a3589ea6b8b162e6a3f8f52a18bd7db43fd9b2cb63be4f359c52fff5c8d6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/ordinary-unknown-iterable.json", + "sha256": "aaea15b6162a0e2343718c9a840e2526d966fd04fb00f4da63c15e6479b5b624" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-async-generator.json", + "sha256": "6959998c9a32a0df2be27687b9b06ce7f9851097d1e6b5c6dd8f455b83ae20b4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-coroutine.json", + "sha256": "a0f413c3db9574bd9e1bfa96147a580591f9b82922ffe50c98cf398f8e3e06df" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-custom-awaitable.json", + "sha256": "246f43b508601e2af2090da41f5372f8cc4a0757c1b9b89ae9662166b7c28f32" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-empty-string.json", + "sha256": "374f9aae7d29f618431b5d5f6ed338dfc7b6363bde770463c33f4327013c50c9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-false.json", + "sha256": "1cc554c0e12d4d35fbb31ac247a189dd128ebcfaf13a48400038e8fd76237bc8" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-generator.json", + "sha256": "e24e634e3dab849f68399cee3ec6d9b2ca9021979d8866f0c2ab21fac098c1db" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-scalar.json", + "sha256": "0926fa0038d5c8b3447f4f194c3c108351d4b098732a5cb066eec9f73d90d392" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/return-zero.json", + "sha256": "240eb9063e732fcd1c3311f9302b9a7ae6d2cdb496b1527af571ff0aa6bc1d47" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-async-generator.json", + "sha256": "86f1e6d71f6adf59d4aa2dbff348606f068cd9a5025de45b0cef544cf638a544" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-coroutine.json", + "sha256": "a8883d9110e163a208df3439165fb68c2346adc5a83c6fb21244e8b4be5dce86" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-generator.json", + "sha256": "b031f6e664cfc8ddc10a8eb555c9f934b3e4bd880922df0576f1e0906f205467" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/normal-fixtures/wrapped-lazy-middle.json", + "sha256": "79f63cbbf6eb2fbc2060e7d5fadbc0dcfd71384661e1e3d939ea0a7740bfe3d4" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-iterate-unknown-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-iterate-unknown-return-objects.log", + "sha256": "8dea0357a259fb52b0b9fc16aa64ef526d9e8a9328af0a0cd990b1fe5bc54493" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/normal-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/normal-lazy-controls.log", + "sha256": "7cd8ca15dd44e1f391431ae906909af507dec8d46c9cf7234155206eb02cf060" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-accept-falsey-non-none-returns.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-accept-falsey-non-none-returns.log", + "sha256": "b8bd6b7b83df7648ddc26b938eb53a7308dd4b49dcdd5e2aa5e218180a67106b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-accept-non-none-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-accept-non-none-return-objects.log", + "sha256": "198ffa5f6ec6cfa71544844b5034f9a265f0565308450cffaea2b1d26459986f" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-async-generator.json", + "sha256": "00650b9fa99119d8c5ac17523ebbaefa41f0f117bb4b7b739ae24f08a2aed1b9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-coroutine.json", + "sha256": "d60b509a1e124a707a85a8a2c9f181e3cbed8c5ae1fe6d381b3f98906c353baa" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/method-generator.json", + "sha256": "7c11e95f44fa283863c7759d38a702d0659b04d782ba684739ee9a21250b64cb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-none-kill.json", + "sha256": "7f83c0181d3689b19c8c7af63007406717a694a8675096be8fe6b3b48de9e24c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-pass.json", + "sha256": "4d7b6304160cb59b956b8ec870671bb0cb89b1884843aea458c3362970ad127b" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/ordinary-unknown-iterable.json", + "sha256": "cae95759690c785a383153530d40814939dfccd734ee06e1a2de247df1ba7f45" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-async-generator.json", + "sha256": "8ceba34b0176ef1d9a973dc7eb2d24dc9d43be7f4f0d3906b1abdc0f48c5a99d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-coroutine.json", + "sha256": "ef31f394f904a3665f4bc820d1f6a699cad5bb9bb6b882c9393bc916034d63d3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-custom-awaitable.json", + "sha256": "9dfa05e9b825458c31bee8b3a29a837e41d793df3cba0d1322714d82e66b0eff" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-empty-string.json", + "sha256": "03bcf3deb54fc191773573922cedc74fb84578a899681506d00f399c0f5fc090" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-false.json", + "sha256": "c5413e6e11e4943a34e6436a6170f00e281dff75986ef218faf0a5849eae26bc" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-generator.json", + "sha256": "27390a1a1314e7d41b2e8e46c00c9380b07788cd11194e449d0bc32513b66c3a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-scalar.json", + "sha256": "9420353adf8a5c70c000fadfe922109481d31c2d19cfac7c41857f8361733855" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/return-zero.json", + "sha256": "719b76ba274ecc1046e78fc7b6e61fd364c1c024ffc4ce0a3a76788de6e6fb4c" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-async-generator.json", + "sha256": "ab38d0f65fce4e1253a03652c5f238605b912ffed7654957ba9e442dd475befb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-coroutine.json", + "sha256": "768b18d7eed8f0c37ac1e824586bea239b0e35e3017e75ecf67d57f995657ee6" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-generator.json", + "sha256": "c5f964ba7c22a2f56edcbfa39b8c0e0668fd3f167a20da42dbbde26745f85979" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-fixtures/wrapped-lazy-middle.json", + "relative_publication_path": "evidence/lazy-body-profile/optimized-fixtures/wrapped-lazy-middle.json", + "sha256": "534f373f115d2819a4a4b3fe54b77ab16a39f592f5fd432ba68323878ff4ac62" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-iterate-unknown-return-objects.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-iterate-unknown-return-objects.log", + "sha256": "1a5ffaa1242c35792165c948c1f9710e153a52d6dffa22a0e748e4a892a0bd03" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/optimized-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/optimized-lazy-controls.log", + "sha256": "d09ea53a8f32dd6933e707254eb6a7c1f9f7c93357ff0059c707cd217e57dd82" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-async-generator.json", + "sha256": "59a57a8c94922dda3ec7faf26f9bd92a9abbbd7c0a55181cebf7ee6b99ab7b63" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-coroutine.json", + "sha256": "4fe1fd1a82f2063b8dcdcc951759fa97b428c2d6ede31ffa04ffe107518d5882" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/method-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/method-generator.json", + "sha256": "82897e6ec4d2b4824a84b61dc1afdc43cdaeeb3d288a93e94eeb4737fcfcf68e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/ordinary-pass.json", + "sha256": "27e348122d9f750259b0fd11bde6804094a9781b313e930419eafbea4bff674e" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/ordinary-unknown-iterable.json", + "sha256": "73a67ab0b8deea5504da9eec393dfdef75f73945b5eb8d1e8160df65d2e52b84" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-async-generator.json", + "sha256": "b5754d4ddd057e4f0c2063704c3d841555feb8bfc79440a96f614eb29b1290df" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-coroutine.json", + "sha256": "1b7470881d93bced1254e086cdf063b6e6c254efc4a260faf40aff39575b793a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-custom-awaitable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-custom-awaitable.json", + "sha256": "f7d42f3a7573c73784e15f296ad1152671c47102247d71a945a5b4e41130b9ed" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/return-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/return-generator.json", + "sha256": "5d9d154747be2787ddea4ed91fc54277b80273503ae49359646ab825143bc033" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-async-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-async-generator.json", + "sha256": "738e717f0936b6310e2ee037d85a29f688d88aa94db68d1a7a44cfa1d1f168c9" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-coroutine.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-coroutine.json", + "sha256": "c72bd10145752b0e17304b31e0c23c24cce8f720c26f51712c39c5bb91e4bcb7" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-fixtures/wrapped-generator.json", + "relative_publication_path": "evidence/lazy-body-profile/red-fixtures/wrapped-generator.json", + "sha256": "fddb376a2660fba284666764572753848fc5ee984fd55b2b6d4cea6d61ec6b09" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-lazy-controls.log", + "relative_publication_path": "evidence/lazy-body-profile/red-lazy-controls.log", + "sha256": "8f1c52e4ffc6fb9285c3b6ebf422c33887aa51356406a173a123aa31d9bb0334" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-mixed-generator-false-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/red-mixed-generator-false-kill.json", + "sha256": "f3763817ae55ae39210c270a44a36b70acf524d5285331e9efc78c4470ae834a" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-none-kill.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-none-kill.json", + "sha256": "8cb1f8cd41f85cb4762e23aaac3b7cc11f309fdf9d56c1625ca7cb79e7852acf" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-pass.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-pass.json", + "sha256": "117c3c7908c3cdc0d1f66d12a261ae7ed106cdc05b29bf35e42e11b68b846804" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/ordinary-unknown-iterable.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/ordinary-unknown-iterable.json", + "sha256": "4fa5dd75b1b593f26179207492eaa0e5e6fe96d65fa57fffbffb5c653763ca7d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-empty-string.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-empty-string.json", + "sha256": "7a9fdcea28c6735d28e930eca795f0df7bd0c7d06426ee26e1c49ffa6b1342c2" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-false.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-false.json", + "sha256": "493618ff8e19c15d09a9d474ab09c5b8995adc49c89e1b35937212d435e59842" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-scalar.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-scalar.json", + "sha256": "e88f72d0f19797092f82cd09584c49a00c7e6898726fc96981c20c0a5b56033d" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile-fixtures/return-zero.json", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile-fixtures/return-zero.json", + "sha256": "223a479500ad03e116a3b8f4ef49227cf94b25151a8ecf7e8494051cd1f00bc5" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/red-none-profile.log", + "relative_publication_path": "evidence/lazy-body-profile/red-none-profile.log", + "sha256": "869f304a7de9e58f20caa314f54a07f54c97495b04a1b899f73ec478eb52ffbb" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/run-new-guard-source-controls.py", + "relative_publication_path": "evidence/lazy-body-profile/run-new-guard-source-controls.py", + "sha256": "53b40ae1abbd4e856befb289199f924a8db246b51254358c5348e5d1fa6a0be3" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/independent-lazy-body-review.json", + "relative_publication_path": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "sha256": "8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933" + }, + { + "raw_source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/original-method-shape-applicability.json", + "relative_publication_path": "evidence/lazy-body-profile/shared/original-method-shape-applicability.json", + "sha256": "16a4c32a9856e83df1e78b35930d5638f146504f1ec1ba95fbac78381072727a" + } + ], + "predecessor_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "raw_receipts_unchanged": true, + "relative_translation_rules": [ + { + "publication_prefix": "evidence/lazy-body-profile/", + "source_prefix": "evidence/layer_a/" + }, + { + "publication_path": "evidence/lazy-body-profile/shared/independent-lazy-body-review.json", + "source_prefix": "evidence/independent-lazy-body-review.json" + }, + { + "publication_path": "evidence/lazy-body-profile/shared/original-method-shape-applicability.json", + "source_prefix": "evidence/original-method-shape-applicability.json" + } + ], + "runtime_copying_origins": [ + { + "expected_old_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "expected_old_native_path": "cbz/contributions/math514/layer_a/mutation_test.py", + "expected_old_sha256": "e857fde3c3d7caf301e24a77972ee18d1253186613633e1b0876b61f274eebed", + "kind": "frozen_runtime_successor", + "relative_publication_path": "mutation_test.py", + "source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/mutation_test.py", + "source_sha256": "840d2c86b9c7b1fb934c6fae0f300afa17aca6de5551ca8db70ac47147073b7f" + }, + { + "expected_old_head": "95a4f81e6e1fb02481238b9f91a9ce4ec259ecc2", + "expected_old_native_path": "cbz/contributions/math514/layer_a/tests/test_mutation_runner.py", + "expected_old_sha256": "347135c69335eaa74a62f5b6380057fff24e30eafcf57b8418de69bef1be7f7d", + "kind": "frozen_runtime_successor", + "relative_publication_path": "tests/test_mutation_runner.py", + "source_path": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix/evidence/layer_a/frozen/tests/test_mutation_runner.py", + "source_sha256": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3" + } + ], + "source_stage_root": "/workspace/cbz-0/delivery/lazy-body-lifecycle-fix" + }, + "new_evidence_path_map": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-red.log", + "relative_publication_path": "evidence/lexer698-red.log", + "sha256": "b8664d7614517232ea7a2a04908ab3c3e425dc952f4a5ad082a701a15cb34d90" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-api-green.log", + "relative_publication_path": "evidence/lexer698-api-green.log", + "sha256": "e4737c6d01c5ffb433b79740c7ea81632ebcd2d50e7932c95d83e4ab4c5260de" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-working-summary.json", + "relative_publication_path": "evidence/lexer698-working-summary.json", + "sha256": "0df50a3443ed8bacd4e8ba2be9156854efbd4126c9a391b834e08e03afec84a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-green.log", + "relative_publication_path": "evidence/lexer698-green.log", + "sha256": "1c8103210a0ee609cc3bb91f19dc6871f5df54b56981a297e9e1fc3d5611c4e5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-existing-harness-optimized.log", + "relative_publication_path": "evidence/lifecycle-existing-harness-optimized.log", + "sha256": "bc287a98102ba59909d3d67a5703831fec5be51e592c408a383878e3ba55e221" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-existing-harness-normal.log", + "relative_publication_path": "evidence/lifecycle-existing-harness-normal.log", + "sha256": "a5f843c113cd036dc1876267aeab55b0932c41e81bfa56bac123bda3880deb26" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-admission.json", + "relative_publication_path": "evidence/lexer698-admission.json", + "sha256": "0749e207efa46545ffbb2c1ad73fb1305dbf7b73f052deeaa02fb84bd1adb3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/existing-harness-current-receipt.json", + "relative_publication_path": "evidence/existing-harness-current-receipt.json", + "sha256": "3a84e01a6a38651a1c8c67e1d1a00f0a6bb763c73cfc5c1f762aef57329e4f0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/composed-admission.json", + "relative_publication_path": "evidence/composed-admission.json", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-api-red.log", + "relative_publication_path": "evidence/lexer698-api-red.log", + "sha256": "d595343251214e3e5b33c40e157d7122f3c241f3e8b07b364c3334137b9f8746" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/SNAPSHOT_BINDING.json", + "sha256": "8437801dee1fcef4fc071f938cc903ab3952e371e281400daa53b671a9762783" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/mutation_test.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/mutation_test.py", + "sha256": "e6afa7a0ef6b3e5cd9ce3afb5a4784ecf5f3163c2ed36fef4a46a517f238b721" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/selected-test_auditor.py.txt", + "relative_publication_path": "evidence/lexer698-initial/selected-test_auditor.py.txt", + "sha256": "bc636f64401f4292815a5e654ab8c6244b93686c3cde20571a53d3d83edee0cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/receipt.json", + "relative_publication_path": "evidence/lexer698-initial/receipt.json", + "sha256": "bdb32009ad622a79727e034a076147145307bf309e6d7b13c129006457a815c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-checks/controller.py", + "relative_publication_path": "evidence/lexer698-checks/controller.py", + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/receipt.json", + "relative_publication_path": "evidence/lexer698-adapted-mutants/receipt.json", + "sha256": "dad914b198e0bbf44f6641001c35b5a0ed0c61811ce774bab3a6ea4e506850fd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-event-count.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-subtest-event-count.log", + "sha256": "7005456e8bebe2eb9b56e56a8c44b35aa4aaa2e914b51f1da9c2f6a1bb7a07d7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/optimized-focused-tests.log", + "sha256": "0e5b8339c21caa406ac6ba6049539620044f1bd4ea42f92ecc5be55916fbb5eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/independent-lifecycle-review.json", + "sha256": "e9ad02a21799e314b5374d77cb6aef468e2561f92ee23d9b5e3fefe6e19df242" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-focused-tests.log", + "sha256": "c8fc90a471bfe549d6b953270b152b79adfc458b73efbff8669bfac1271c6590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-forged-receipts-normal.log", + "sha256": "5a158f43f99092a7307ac637eb76794198cf387d497369e80ad3a304dd06b363" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-duplicate-method-ids.log", + "sha256": "58712533cadfadbff6d3a2428557f1f6aef65748d7480e33026c2cf16574d777" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-setup-false-kill.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-setup-false-kill.json", + "sha256": "cf2e097d01ebb3366c46efb70e23dbd8c1b3de80b1b83668d5d215b1a20a7dc4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/baseline-source-sha256.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/baseline-source-sha256.json", + "sha256": "2103e82406645987ef87649b63240a9ea3abe2f17288a22956724b4ec0b27770" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-external-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-external-population.log", + "sha256": "e6d91ece48ee4bbbbea511f7ff2a66ae1328b91a0020320fbca773a2b6354ace" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-synthetic-callback.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-synthetic-callback.log", + "sha256": "ab63922ceb0f3700dcbd2205834243ca8e096f29e172d5e3eaaaa050e7f2ceb4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-lifecycle-invokes-body.log", + "sha256": "bed3024419f029375d02a4e93649d85fd533d54511aa1acc94b914d2ced2d429" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/evidence-index.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/evidence-index.json", + "sha256": "791859398241ca57c9baf6273c39b18d8843764e37212b38b9d2c12652af8ecf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-forged-subtest-events.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-forged-subtest-events.log", + "sha256": "991f5f3bf95c06c6b1ca4e7bd99a83c9d47a2a934fb282088b498b223dfd7ec5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-completed-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-completed-population.log", + "sha256": "b5e3f880d283ad9733985f7654fa9ba75f1f1b0eb90e1231cbd054be70496b83" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-focused-tests-with-assertion-provenance.log", + "sha256": "5c625a02969576a12922738f68eb9b162714b040165e518f1b7e1c75ddd10c3b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-new-obligation-source-controls.py", + "sha256": "75042321cd76b3513c14f5fc45393cb6bb5b86e1cedf75d4a289e25795cd151a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-dispatch-hook.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-dispatch-hook.log", + "sha256": "90fcd430201a339409a2736b39eec1361204c8002b3e040af47a75436bedf563" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/SOURCE_SHA256.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/SOURCE_SHA256.json", + "sha256": "7fa273830cd4b48b75db970c143596c07cc9898d19d6d26d0776f5200fb99b08" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-complete-duplicate-receipt.log", + "sha256": "a34f020aad6559eec1cd1018305c42d5f8008a7f0f5f0da24511bfde0286f45e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-boolean-counts-first-attempt.log", + "sha256": "ea7a8f0e5d1ea18680fc28c97b70d171471dafe21ae248bb96a44640f934f706" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/lose-method-decorators.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/lose-method-decorators.log", + "sha256": "7eab1e0a89fd174118f1188ee01510fe393bc5741bcb2130479d925978c62b2b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/benign-setup-assertion.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/benign-setup-assertion.log", + "sha256": "4fafb267b998b6df5671ea143ed5768aaaeec2795c4ca0b315e07439747b335b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-final-accounting-source-controls.py", + "sha256": "84ce26cdf0eb5a99a29ede88bc7745fa07901785c18895d1ed7f73b3008efa3d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-external-population.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-external-population.log", + "sha256": "d4c87cb11d5b3c7038b11b38516c25cca5ff75e52849a0a0e23dfe37429c1709" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/harness-source-controls-initial.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/harness-source-controls-initial.json", + "sha256": "0cbf90e399ae6c10c2774fcb4fff6eeadc107d1f4730d67a582a38249ba36976" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-lifecycle-invokes-body.log", + "sha256": "be631658efceb86a65e35e072a91a4a179850e5c34ce3b71f935b2e5846ace46" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/run-harness-source-controls.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/run-harness-source-controls.py", + "sha256": "927db98e307dd03eb03685f806dd1e4009a4abb076c5d59b7fec3810b3a2df9f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-accounting-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-accounting-source-controls.json", + "sha256": "58ae0684468b4472f55287091517a4e5462bffedac079d0fa8d930b9c0d1e03f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-schema-requirement.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-schema-requirement.log", + "sha256": "f295efcaed50cf4319d7762d18e71a79bfbedd3a7d508332b8a72a578621148e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-boolean-counts.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-boolean-counts.log", + "sha256": "f555fc30a591c4a7f46af27a7795a0a52e4775d7eb203c6a3fd0fdd8cf05a2d7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-duplicate-direct-assertion-events.log", + "sha256": "975312c9d33754a0ee0df3679c7fa8529d5bcd552cc97118d57ba6c16b750df1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/credit-synthetic-body-callback.log", + "sha256": "819fb90ee586987ab069f952a62c4bcbf147ac0e1db23188fd1dd344576a1026" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/ignore-subtest-phase.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/ignore-subtest-phase.log", + "sha256": "49506c9b219a5cb5e0697b9a8b78b2d560ba090c22fc140e90cad562b2726a59" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-final-duplicate-population-receipt.log", + "sha256": "db9ab71d5d65e4726cdc57b3317baf222bb699dbf6177a762529a338940a2369" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/new-obligation-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/new-obligation-source-controls.json", + "sha256": "24627a65535cd182478a12796da4ee6927ceed8a93ca94be5af3c8c469046b0d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/allow-lifecycle-body-invocation.log", + "sha256": "3931e34a8b85b973a515c6fc2033147f82277924eafc0ea1387221735abdd3b5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md", + "relative_publication_path": "evidence/lifecycle-grader-repair/LIFECYCLE_REPORT.md", + "sha256": "266b969941e35a1703ab0cf4c095f1a222eb5b9b1f3cafeb1142bbda4547b682" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-focused-tests.log", + "sha256": "70d28a9ffaf56e2766f01bffe94ff146a70d09100fea66c75af86f25e6eefe89" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-assertion-event-provenance.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-assertion-event-provenance.log", + "sha256": "15520d4df9d87acd07e812b17011fc9d4f3a83314ba7b7412b251a24e1890ed2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/green-focused-tests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/green-focused-tests.log", + "sha256": "2478a211506f7fa0ed64e3a42a19cfe6418e48860382b3e4d392ecb8eacbede7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-external-population-binding.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-external-population-binding.log", + "sha256": "e06761b787303128d4abc303cffd5059cc43a1ea6fdb4de47ffb83a6e265ba5d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/red-body-scoped-subtests.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/red-body-scoped-subtests.log", + "sha256": "b711eb863e5cc7bf5e113ff7fd1976c971ee5d79324191f4e3b040b85c22c574" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/harness-source-controls.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/harness-source-controls.json", + "sha256": "100f9129b8cec349cf54e42362edd7441cac12c91ef3e76cfaed6ccc1e9ae5d5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/drop-body-entry-accounting.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/drop-body-entry-accounting.log", + "sha256": "658660c0339ae12ac0a25ea1c218e980198ff1c317fbf55c4dc81090100fd541" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/credit-lifecycle-assertions.log", + "sha256": "abdffb3ed8af9407cdc0b0beabea9f732036b08e81a083fad7164cebb7cf636b" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/tests/test_mutation_runner.py", + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py", + "relative_publication_path": "evidence/pre-lifecycle-grader-source/evidence/lexer698-checks/controller.py", + "sha256": "4acb016852df57b2a1ff0705c500f525afda100628734082681e6eba888c4e14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/lexer698-initial/normal/miss-multiline-commented-native-config.log", + "sha256": "f2ae35f3c8f83613b483157adf9f40bf5da075ccaa5ee3983afae8048a0c3f28" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-axiom-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-axiom-category.log", + "sha256": "65a5eab8d97b6495114214f98194181b40502e3ef7562823cd7e5722115ab837" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-escaped-constant-normalization.log", + "sha256": "d26f2e422dce362428b751a29d6d3a6f9ccd6e1eb00889b88f8fe67d2bc83321" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "relative_publication_path": "evidence/lexer698-initial/normal/discard-nested-string-code-holes.log", + "sha256": "3bafa35ae11e5b22e44802247bbe4d0a35918a9d393c79f4e511a73de1c5a02e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/lexer698-initial/normal/truncate-primed-lean-imports.log", + "sha256": "d4cea57e5d3259a04a3fa2061a12f11c061754f6cb556971f25e3634d3022fee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/normal/skip-malformed-character-refusal.log", + "sha256": "60d6e1c2132f6ef891f5011b887211f695fcd371b1251606d8a892256ce3303f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-unchecked-declaration-refusal.log", + "sha256": "94e7cbc5df9854c331446d259ab109c481b1275edaa67bb14535104dc8191266" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/lexer698-initial/normal/miss-escaped-placeholder-helpers.log", + "sha256": "ee5c0caa6dee173bf7135f99533f8172f1fcd5a3b601db287433f57eb668b0f1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-macro-gap-category.log", + "sha256": "536c0d4b7ad553caeba484821001604f453ce1162b9c1e694b7268a824cac6d1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/empty-lean-findings.log", + "relative_publication_path": "evidence/lexer698-initial/normal/empty-lean-findings.log", + "sha256": "dc7878b4995172e899f7fd0310ef7ac936cf4be7b9fbb9b2c14a4f3fd0cbbb8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "relative_publication_path": "evidence/lexer698-initial/normal/discard-canonical-lexical-errors.log", + "sha256": "49efda0a7aa45cd9700c1ac0f03f9fc0f00ce54b4d27e609fc7bcc020bf9fde7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-placeholder-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-placeholder-category.log", + "sha256": "7b4c7ff6cb4e3ecb059ff10e774bda976081861e26e35e0b152a40b29363bccd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-lean-dependencies.log", + "sha256": "13b228ff4884bff2a18d0dbf35cd56f5c6e4faacdb3647248a713137ffc202bb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-initial/normal/canonical-unicode-boundary-weakened.log", + "sha256": "08e737fdd7036e291d8fc1042f3cd0420b58f274aaac20e0e4f4e13621038033" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/disable-native-category.log", + "relative_publication_path": "evidence/lexer698-initial/normal/disable-native-category.log", + "sha256": "4cac36a898d1855635e8b2a16fbe11bc19fcf2e649d299c86dac82d7723937f2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "relative_publication_path": "evidence/lexer698-initial/normal/ignore-canonical-metadata-shape.log", + "sha256": "140d44373d0b9e2cc7028f15fb1889c3f176c06ab2ded1b05a5c38ce98a2d83d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "relative_publication_path": "evidence/lexer698-initial/normal/restore-generic-numeral-swallowing.log", + "sha256": "f0c6e773e48ef5813c20e4b0d6e01da4cec0f2b3367c8705fc880c6c5f9a1269" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "relative_publication_path": "evidence/lexer698-initial/normal/drop-literal-import-operands.log", + "sha256": "686a757113bbc1e675c5f715721178f57981d8fa7760b0a098513664969dc28f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/lexer698-initial/normal/silence-unsupported-lean-import-tail.log", + "sha256": "52fdc288e2f40760e5b88bb0ff5e3848af8e0bcd527236208312d893d695c4cb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/normal/baseline-identity.log", + "relative_publication_path": "evidence/lexer698-initial/normal/baseline-identity.log", + "sha256": "1c38bee11cbf7458401fd5c05c59a866f16ab06c4a2cb45196a79145aec9bee5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/miss-multiline-commented-native-config.log", + "sha256": "8dedd4c9e94fd4154a404ff05217d0abfb33eb5a2b1519bd325b4e25a4bec3a0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-axiom-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-axiom-category.log", + "sha256": "835dfabb686ec167227218e2cffcffbf48fc408e7adc4aac09916f30efb079d9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-escaped-constant-normalization.log", + "sha256": "09bd3ddf5ce49ca776b5a24423a51a261bb358ff650e3c8c8b891d71c32a051a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/discard-nested-string-code-holes.log", + "sha256": "1b2438356f2edbefea2348749e55676749caa2f5d7f3b9ab5bafbb37e45da5ac" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/truncate-primed-lean-imports.log", + "sha256": "9bf1c11d2cb6d4753815df0adb3e3de9c01d33fb006aff4d8d2c0b1b7c4ffb14" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/skip-malformed-character-refusal.log", + "sha256": "7ac1abde253575f9618b2b354a00485473d56514374dc7272470608b0333eda2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-unchecked-declaration-refusal.log", + "sha256": "9b201bfa8f341bcf43f44533de3d607ef55a6cb98b06f1843797090132d07169" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/miss-escaped-placeholder-helpers.log", + "sha256": "10c411c561639dbc8690ff1695a24b9a767767cb88cc7715e0567ca535c55a72" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-macro-gap-category.log", + "sha256": "3b632fe48e8f9f5ce3a7d6464b430e76e30262d3dabfbdc0a0324300a4437de7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/empty-lean-findings.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/empty-lean-findings.log", + "sha256": "8e821c8dafe2d7cb34d3ca4c822cfce11fa144a46c2e5893509845cc3d516bb5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/discard-canonical-lexical-errors.log", + "sha256": "b93333b602a2b95a7ec94953d6a03f9abb19193b6990ddabd9e121104408b6c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-placeholder-category.log", + "sha256": "c877db2415ccc5a77780db9279ce1db260e17a393dbbd02f86791ed8fd3558f5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-lean-dependencies.log", + "sha256": "8cb5b974c6b5a7ea3bc64639b5e6589447349b560afbfe0387bef74bfb5fb0d8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/canonical-unicode-boundary-weakened.log", + "sha256": "81b0341312b3a14a5c4c31ea3161bb15184363bb65d81a7a491e9dd8d9e1f5c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/disable-native-category.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/disable-native-category.log", + "sha256": "07a20bc0878936e8f13d066514278167febdcef10a44a9b555a76cc6ead0cec3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/ignore-canonical-metadata-shape.log", + "sha256": "b72f6839332cebf0a416edd1bb6ec3a1c2566ea6ea0705767a185035178a132f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/restore-generic-numeral-swallowing.log", + "sha256": "5fb6b58f41207cdae013fd7faf888a7e4fec5430a2a583b06b7ea6df29df3bb1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/drop-literal-import-operands.log", + "sha256": "91656aa156edf80d8599659669e7e3b3dc920f03aa1f6e400e04a04c6c0ea237" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/silence-unsupported-lean-import-tail.log", + "sha256": "62f24db4e7ce01ba4b1cebd019dcb039504f4488736293b6b5b0fecd21e8feee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/optimized/baseline-identity.log", + "relative_publication_path": "evidence/lexer698-initial/optimized/baseline-identity.log", + "sha256": "97e645f35e21c52af3988bdc7415c7df498ea9f4f7e5a1d0a781241fd84f0d8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/canonical_lean.py", + "relative_publication_path": "evidence/lexer698-initial/source/canonical_lean.py", + "sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/source_checks.py", + "relative_publication_path": "evidence/lexer698-initial/source/source_checks.py", + "sha256": "931a6ee9ad92b3833c342af52d978b732faa692f2a0fd819f75e9941790c647c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/mutation_test.py", + "relative_publication_path": "evidence/lexer698-initial/source/mutation_test.py", + "sha256": "08b284df834f2c5c2960202046036b81826dc3900dc8c2a226ffe42b3a967212" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/auditor.py", + "relative_publication_path": "evidence/lexer698-initial/source/auditor.py", + "sha256": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lexer698-initial/source/tests/test_mutation_runner.py", + "sha256": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-initial/source/tests/test_auditor.py", + "relative_publication_path": "evidence/lexer698-initial/source/tests/test_auditor.py", + "sha256": "94532912255f92250046e0e85d2633b438245e635499d815340edfe4bb29890e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/normal/skip-malformed-character-refusal.log", + "sha256": "03143409d70198406ff6157d807f39cb25aeb537a6d14033cd8e562c46fa0107" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/normal/canonical-unicode-boundary-weakened.log", + "sha256": "014a6bcb2a60b0fd16cf326ca85304c8631c17da9a7828cd4dce37bba2fd086d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/optimized/skip-malformed-character-refusal.log", + "sha256": "5c2d130705be2851db98a1634fead841b830a5e2de3d49299f8cf8fd0d7c5d8c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/lexer698-adapted-mutants/optimized/canonical-unicode-boundary-weakened.log", + "sha256": "097c71a03c87f952408aceb38424e81931e29c3a416d7bcf64abda80acfaa0da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-external-population/mutation_test.py", + "sha256": "267f114fc80eabae31aa3670ff4d51f804bf190e2e65546590fe9bfa1ee480e2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/importerror-setup.log", + "sha256": "6eac87ca6e8d1470236dd3624d790866189b90290bfc684f6216f418e896a562" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/body-placeholder-weakening.log", + "sha256": "b823ea9d7f3e570c0ca22f460dcc7b65bac5b29babc6e79ecce1e65fdc510372" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "sha256": "c1c5eeaab374105dd0cc5cf9f8342396712364a73ad3fd303db0bccf31e61bee" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/importerror-setup.log", + "sha256": "f3721624aa8831b88c0db6b9e251dabc4d21a2a5b0226f57f99246db94343cc8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/body-placeholder-weakening.log", + "sha256": "8a6dfe4fbb3a4856f9ea8d12cb55caa4f31095eb17a370b1196c5493ddfbe001" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-assertion-events-actual-source-controls/receipts.json", + "sha256": "6ef5102e00197a3577c2a7f01dfb30939944b16806631cf67515317b724dd549" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/identity.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/identity.log", + "sha256": "c49f49b7aca8db86e0295aff3608e384b0aacb691f462d5652f13f0d7d14082e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/importerror-setup.log", + "sha256": "f2f9b477dc19bb0cbb40c5d0b074148fc3d9198ff042c5c9efd3f08740e26e73" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/body-placeholder-weakening.log", + "sha256": "97329f849c40ec14ba28671433676756d4f17a2357a6ce5fc94d9621bb3fe2e5" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/actual-source-controls/receipts.json", + "relative_publication_path": "evidence/lifecycle-grader-repair/actual-source-controls/receipts.json", + "sha256": "1e6495f2a1b155fb3893960c37bff367275a5538eef7d0ee9af52929aeae7223" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py", + "relative_publication_path": "evidence/lifecycle-grader-repair/pre-external-population/tests/test_mutation_runner.py", + "sha256": "e3ef018ee646ce11514331488660b4e492b23384d3043c003be54e478e7f707c" + } + ], + "prior_final_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/baseline.log", + "sha256": "b2e6847f813cbd618c30426d1b90b600e14b1aa83b0c46568a2f1e5624ef2c6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-lean-findings.log", + "sha256": "5afc4f4abac0f7a6789db68aacf3fe4880145984c501fd7df42f44a3321fcdab" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "d93390b0a29efce448b7b97c83c2b35fc420e29a997f146dd0e46537a7a206fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-placeholder-category.log", + "sha256": "ffab4248b6cdc8191139503cbe6b6401ba9d7cadb04c08f36acef00dba44f423" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-axiom-category.log", + "sha256": "74d05966c3bebdc2e451463ee6bd3ff53985554e61235befef92759a8485d6fe" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-native-category.log", + "sha256": "86e396a97baf1652def570c0caa4f628adcf5934dad230dd52336d8a15473830" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-macro-gap-category.log", + "sha256": "d267b6b4a659f2a374db686cf7b3ea1836c1d65d1d0b9cfde02812c01870e241" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-lean-dependencies.log", + "sha256": "c9c9d1020a14f9936c636a2b96bbe2697c93725a7f13c775c01792a29071613c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-float-literal-category.log", + "sha256": "f38fc00e7e8fb14f2e2f85739eff788d5719e257a6e8a795be0e85d8c6888411" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-python-division.log", + "sha256": "90f67a521041cd7654b217d272778ab4bb70a7e31e5da73254b348ff5f494c53" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "73f5a7d9f04d357bea32a365ad79fe5b10f9a3ff989e4981d46c4ee1a5afcdd4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-python-calls.log", + "sha256": "077baa995c784ee19b45204ad154ea21039cd30e3d55137782ead735a7a433a6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-exact-python-profile.log", + "sha256": "a3c138be8887286eb9f7def6ada9c2373699ad38fdb14d5cc3288a5ab49a77df" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-reflective-attributes.log", + "sha256": "072e35971f8c64f6e97151238b531da59a1bbf1bfc525aea1ce1b74f093ce1f8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "b030056162cfabc3eeeb8f0c52bb7b9f8ccd274dc8bff0cb79b89c99bc051bad" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-all-but-first-file.log", + "sha256": "59d150c79ba76b270e452e96f593e121bbb6d9f1596f695f248beb6e30a91d6d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-incomplete-classification.log", + "sha256": "e51538ba4caff4b22d0a1ed683957983643a9c2efab94f00fe2f2e97bdce486f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unknown-classification.log", + "sha256": "39e9118c52eb4f1e9d60f90390882cf6227fed2180d06195fe7017c2011821af" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/disable-content-hash-check.log", + "sha256": "a2442444dfe30c439abe9dc06a939b613e4cf3a874cd11619805961f3001942d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-symlink-files.log", + "sha256": "27d31214b243a8162cc7b6d6b5dceb98098be7ca892160a94e38e9a62df1a8ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unreadable-files.log", + "sha256": "887d91bffcb4f8de78f67ec87a7136844fc4d9a8afe95300db40a8fa42509fdf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-unreadable-file.log", + "sha256": "7c0abd09bf090212146c67049cf422154cffb604ae48bdc66be8ea116f5fa697" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-relabeled-source.log", + "sha256": "c05a5e956756b25788b1fd5a100d8410ca2d8f632134034f9bb35c30bb6536a1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unpinned-external-source.log", + "sha256": "2ced2b97345f4d918819c0997e115b8aae93c5fd248477b8eb6089a7c5f06403" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-nonmath-review.log", + "sha256": "25b32bae46d83b97b109bec534f23760a3aff44551707637643d00cbcb87721d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "e1a6b93cc62892ba2c542957b0cbae0cedbd38357fd48fba03e776fae19549f0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "458ab4714ee1afcd62e0a34d4a79ba99d03e5c291a3c39f7361e148325fcc14e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "8061ee644baabc57ef87a2c44cdb08506afcaea0d3a89a8236b4b02f926c799c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "7f4d52b7e3862ecf95bd03bc326fbc434ea0ac42d421acb5394abc28e75716bd" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bad6c8a559e9f35ace2d40f2db4b3bea9fe59d4d084304331b6230a075a4cb85" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "f4095f142b139c11cc9a03008b4a728ea2d8fd4d7113f1fdc3979545009359d3" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-path-validation.log", + "sha256": "628944a0688f6f8fda1d1a722c3af742c8d6ed5a6f96d034e8b43b2e9a8e0116" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-quarantine-dependency.log", + "sha256": "838e2c072d690d6388da8cd6d3e3dfdbaa06ef083dda80852a55bd152b04c510" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-vacuity-coverage.log", + "sha256": "d9359ef9572c7841d57affc7d37a856b54d8c0e07eab6dd9ba818bbe10bf94f9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "74fd63f8feb8e7921c56a55e2cf840318cbd76f476bc3171f0b6b5ba3e805a58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "64b312cc433929417085e9ff0b569e04ef2ab208acde1900a8e377f8288c8e8d" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/skip-status-evidence.log", + "sha256": "046a559ed488dbeda388035c65fe05a7ef00f3b5febd232bf7a4992358fe15e6" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "a513511511b4cd28e1da6d0b808eb5e45cd8400050f30a51404f1753b5cb7a3c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/empty-final-findings.log", + "sha256": "a5e1246730410f6d2d1b08f7161318bbc30e1512ea9068e8f601dade33bebb2e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-final-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-final-mutation-logs/always-report-static-pass.log", + "sha256": "e5cf79344245c5eb68c09182cdf6fd3ee7535c969458290c98c6d20cb0ccb12f" + } + ], + "receipt": "evidence/g0-final.json", + "receipt_sha256": "b4342ca431025a44dad0dbd3ebe9e4c5aaf012c1be6f799405be2bcf2e8e01e0", + "source_generation": "evidence/pre-hardening-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "c0bc0ad327e0dc7729935354e459907045432e146665b2114a4e9b8f7da7a66c", + "README.md": "c3eb2c13df3665e72d9aedb03321a6144b96a42c226a245cdfc27688f812926e", + "SPEC.md": "8380d4bbe2d53c822655c27b0f19740216c1bfdc1cef4598825049d40e1c3f58", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "be8b1bf3ce98e2256bd9546eef221292ce160bea520b21dd651cb9f268ba2b68", + "mutation_test.py": "a2d83c63c9b20e3b52366ff984f3e6595493e1da3d39b50a4c1b3586ec3dfe6d", + "source_checks.py": "39b16327d15f2066837df37c677bbca7d73abf890c012a224eb4230c1b055ac8", + "tests/test_auditor.py": "2894e255ef5be4dfad05c42b06266c12d166be4fe99c57301a79a904888efc1f", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "prior_hardening_G0": { + "logs": [ + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/baseline.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/baseline.log", + "sha256": "bd37bf8669df3ae7b450faeee1af77f02b48329dcf2626861e254fec3d9c2d23" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-lean-findings.log", + "sha256": "c4587e83122861a0237adbecc165becb3f411abf6e51e822c762724666686713" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/canonical-unicode-boundary-weakened.log", + "sha256": "61d02f4280530e8a56c8ce30e5a7f262d02c5ad5519c08c71f074a09709827eb" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-placeholder-category.log", + "sha256": "4cb5a8f9b226349a90b914735b2c9435396eee6287196d618af1f5aa7a582a82" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-axiom-category.log", + "sha256": "cbf98f43bbd15a5b8d64108601a9954cae55839cd608594f261f12a019752dbc" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-native-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-native-category.log", + "sha256": "b22eabb8238c3bedef79309510a5d92e91a17b0800e2c18754f366ee98a501a9" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-unchecked-declaration-refusal.log", + "sha256": "8686edc6ae1fe32a14b9aa66d66c8bf2022786daf0f6572ec04b2475858cf83a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-malformed-character-refusal.log", + "sha256": "55d3acd966c7d9384d0db2c6f420437a08af5060cf0357d59916ca641c9f248c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-escaped-placeholder-helpers.log", + "sha256": "e0c33cc66d79032b41ead944f8b1cda358a2a3c3c34552bce21687fb1495ca25" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-escaped-constant-normalization.log", + "sha256": "6a9f4b5c4b918bda1d53303d7b48648fff9b4804fda88523c6bcc5587883dcaf" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/miss-multiline-commented-native-config.log", + "sha256": "211ec1bab634374be7a3ca12dff211e293059f11cb2ac1c1f9b814f1ed0a217f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-macro-gap-category.log", + "sha256": "3c4ad9e87a4a98f1ebe8befc0c81d101ce9ecf7c5646dbd52dabc2ab8acaa194" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-lean-dependencies.log", + "sha256": "25cd3661a79e7c5a5e6bd5487a40e6fc88b926ac65eefbdd52b1064a042a0dde" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-float-literal-category.log", + "sha256": "9c6c214212dbe6cfe36cd65d18eabd9cc2e19522e25762b48992a99798a233da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-python-division.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-python-division.log", + "sha256": "c4d8f33d381d130e20d6f9e20d08e64c46c89574f5a6ea643b7cc42c29fa0e58" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-negative-dynamic-powers.log", + "sha256": "b0fcabb9bfd9e6c182743e938946d281fa0d55fe5c16fb0dfba780b641d4670a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-python-calls.log", + "sha256": "0b008f6ba32d9db12ed65bc22a44ceac76dc5bc5105d33124d6eda104f90b73c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-exact-python-profile.log", + "sha256": "4ea10c9d750f149a5c59088ed436a714a7983e9dafe215b507e627c8683d5fe0" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-reflective-attributes.log", + "sha256": "1ed1f484525fb0310b0e3b94ece2f07ae0a9a5f9d4bc3b3a884785a3e2feeb49" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-protected-name-rebinding.log", + "sha256": "88fa12659e796a10ae4063dd6cda8a23d4be018b874dff2695cc15bb6f704c40" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-all-but-first-file.log", + "sha256": "dd4c206c1d4214a6490da2b9e23405c1ff7f5e76adeab2d28bed8f8b342a2a1c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-incomplete-classification.log", + "sha256": "cb4772082dc8887c29873814130fe2f01a28cde88baab251791b2f6427b76c01" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unknown-classification.log", + "sha256": "257046b4f24b6b58471b2510253cfc5fe763801ca8c999d0362af425f38828c2" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/disable-content-hash-check.log", + "sha256": "6045e698601fe16a93208529417272488024148332e848f9d0b509c21c291204" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-symlink-files.log", + "sha256": "369055295133c748500c408d7d371a4ef29488d0c22161fb49c6969a465dc3b4" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unreadable-files.log", + "sha256": "a1cb4206066ccf5538e24f839774d67d74fc898727f116cea7ddb7aa13c58fef" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-unreadable-file.log", + "sha256": "4ead5222f76968d334b66969596d3498e8e8e9a657b550e5e525a7e5263fddc1" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-relabeled-source.log", + "sha256": "a16eff825df6cb63dafa28fc0852c0fb429ee011e5011a4677fa394afb2264b8" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unpinned-external-source.log", + "sha256": "1c3bcdf1189e2128a11fe50a57220d0a55f7b970a926b8ac05a64c72228c665c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-nonmath-review.log", + "sha256": "b4ebe7ee7bfa8818c18da972dc64c1a4d271a89fa31d67d3dd83f5534d6e45da" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-binary-proof-bindings.log", + "sha256": "0f1744f32d0284e72e91012dc946b83b1b032aa994c74ea5c907880cd38d0a0a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-retained-finding-counts.log", + "sha256": "5ab7c0439d0e71ca7618c1595e3c9b6695d3c82e66382cb9a21fc58dae2f4068" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-quarantine-boundary.log", + "sha256": "ed8516f2431a2c5752c14151a2fd30707e04cb5dd56ef17854dea4954a22d590" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/restore-shadowed-fractions-exemption.log", + "sha256": "47b56ba8eb2fb962458f1452544de58ce8260ccd345fc9c71b36c4f2e2253d61" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/drop-python-submodule-candidates.log", + "sha256": "bf8d81ba19834ddd2b02d81dbdded4facef1dab24c2bf96bcf303746baeafc19" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-nonmath-dependency-values.log", + "sha256": "00124e5e1df955287d1870b0cc755650ced8c66ac4414861c31913ef983c956e" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-path-validation.log", + "sha256": "1c649385e7cceb63128ab5787ab284a2949976e1c5466351f7e19b3eaef18816" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-quarantine-dependency.log", + "sha256": "89687c72e1d7ebcef094010d2137196689a2399abed75f8d36940e839ef19a9c" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-vacuity-coverage.log", + "sha256": "978eb2468f165747544737c44c5f90611b9fd109f6c455bbc2758b522502434f" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/ignore-contradictory-hypotheses.log", + "sha256": "391b9a461a8f909d3ddef00bdc707b2dcfed55371a357ca0564ff79bf95567c7" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-unbound-nonvacuity.log", + "sha256": "f5207c74b953d3ca495d6bee17d36449743f90ef4e9e242fe46d92f455707ede" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/skip-status-evidence.log", + "sha256": "669fc517a61f88f117abb237704a5ba8db91b479ea94500e8a5132de709ed272" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/allow-arbitrary-foundation-set.log", + "sha256": "ee53fce5e4246153d1f88d4f7d944c25724e810637a5e069900f89efaec5398a" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/empty-final-findings.log", + "sha256": "691a2600bcf1b3153d2639dcd86a3a34ddddfb01021db2cbdd7ecf5d98c329ba" + }, + { + "raw_absolute_path": "/workspace/cbz-0/tools/layer_a/evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "relative_publication_path": "evidence/g0-hardening-mutation-logs/always-report-static-pass.log", + "sha256": "c1dc3d4532a7cfbb53f2ce28c4a5f406f54296aa8d247bdc4f76844ee2ebab52" + } + ], + "receipt": "evidence/g0-hardening.json", + "receipt_sha256": "9bd3dee4b424b17b5580e7cc26af5d161418fadb93477825f22f45be7d1c3619", + "source_generation": "evidence/pre-admission-fix-source/", + "source_sha256": { + "LEXER_PROVENANCE.json": "0f0f2516729435e9c3ef977e7aca9f8d51f6d179f77be3d194f7958945cdf4db", + "README.md": "f32f736f63c08ec0fd67b4ef4746630e17c39085ab700f5eee8ddda41c87fed0", + "SPEC.md": "75dc927fc35b0dff3f2423957dcf311ea95c9364c1ae3208f670ebe22eac774d", + "auditor.py": "5d95d3c500e767305727d3f8a1c1e8944be4d67100e7703e6326de9db0264440", + "canonical_lean.py": "eb1088a53040f304b8a27b42a99d0d71b6fedf77668b4a7a5c30f0c0b8115bb0", + "mutation_test.py": "a5241db32bbbadbce183aad2ffeae2fc732406fdf01fbec79b3d27a95b06ed2a", + "source_checks.py": "0f03cc4c182c8a10c839be30d59bec70f545e10fd7660642b672ed782c5cd786", + "tests/test_auditor.py": "05095a3fd3cc71bfedd37b57a07e5a4d97ea40e43a7ab3df05fa9967b55d754e", + "tests/test_mutation_runner.py": "350a8f11d2d06d04da5f5270dbb81368aeac2dc6a66144237004f9cbe7eb2653" + } + }, + "publication_prefix": "cbz/contributions/math514/layer_a/", + "raw_receipts_unchanged": true, + "schema_version": 1, + "scope": "Byte/source-generation custody map; no G0 or repository/mathematical execution.", + "translation_rule": "Remove execution_root from a raw source/log path and resolve the remainder in this contribution; raw paths are historical provenance, not portable commands.", + "predecessor_composed_admission": { + "historical_grader_source": "evidence/pre-lifecycle-grader-source/mutation_test.py", + "lexer_receipt": "evidence/lexer698-admission.json", + "raw_receipts_unchanged": true, + "receipt": "evidence/composed-admission.json", + "sha256": "2dace92015ee5d777d403282971f67281f267f7fca71c88659c57678f693a5ac" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/PUBLICATION.md b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/PUBLICATION.md new file mode 100644 index 000000000..186983c2c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/PUBLICATION.md @@ -0,0 +1,19 @@ +# Exact-scope auditor lazy-body successor overlay + +This is a narrow overlay on the complete 730-file published package at `eedb46c36e664b66684a701c3adeacb70f8fac2f`. Applying its modified/new files to that exact package preserves all prior source, receipts, failures and historical snapshots. The overlay is not a standalone complete package. Runtime replacements must match the exact predecessor source hashes in `evidence/declaration-numeric/current-composed-admission.json` before application. + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +Current composed inventory is 94 methods: 79 auditor methods and 15 existing grader methods. This numeric-metadata repair freshly exercised 52 methods (45 affected predecessor Lean methods plus 7 new methods) in both normal and optimized modes; 42 unaffected predecessor methods retain applicable evidence. There are 60 checker mutation definitions: 57 unchanged predecessor definitions retain their source-bound evidence and 3 new metadata-guard mutants are killed by real body assertions in both modes. No fresh whole-94-method suite, 60-mutant G0, CI, Lean or mathematical run is claimed. Current receipt: `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +This change adds an inline ordinary_sync_method predicate in mutation_test.py; it introduces no additional runtime module or dependency. + +The predecessor publication metadata is preserved byte-for-byte under `evidence/pre-lazy-body-profile-publication/`. New raw evidence is preserved under `evidence/lazy-body-profile/`; EVIDENCE_PATH_MAP.json translates its historical execution paths without rewriting receipts. The external overlay manifest supplies every changed/new file hash, native destination and copying origin; the external full FILES.json is the logical current map after overlay application. + +No project tests, checker mutants, compiler, mathematical check, actual repository G1, CI or remote write was run while composing this package. Root owns expected-old-head native publication, canonical integration and final gate decisions. Completed review applies only to its bound source scope; provider-distinct process requirements remain separate. No CBZ declaration is made. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/README.md b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/README.md new file mode 100644 index 000000000..9a0c6819e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/README.md @@ -0,0 +1,145 @@ +# CBZ exact-scope Layer A contribution + +This tool contributes classification/hash/import isolation, a strict exact-arithmetic Python AST profile and A6/A7 evidence bindings. It reuses Root's unchanged canonical Main#698 identifier lexer through a bounded metadata adapter. It does **not** replace federation G2/G4 or declare mathematical closure. The authoritative mechanical contract and limitations are in [SPEC.md](SPEC.md). + +## Commands + +With Python 3.11 or newer, change into the complete tool directory at your chosen repository-relative destination, for example `cbz/contributions/math514/layer_a/` or `tools/cbz/exact_scope/`: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use a fresh controller output path per run; preserved raw development receipts are immutable historical evidence. Raw receipt paths identify the local environment where they ran, not publication execution paths. Run the second command for an actual repository only after applicable current tool-admission evidence is established and the controller has prepared its final tracked-file scope. Reuse completed checks on unchanged inputs; a new clone or handoff alone does not require another G0 run. G0 runs every local selftest, then actual temporary checker-source mutants. G1 reads files only; it never runs Git, Lean, project Python, external commands or mathematical checks. Its report is deterministic for identical manifest bytes/files/tool. `audit(manifest)` is also available to isolated fixture tests; it accepts the parsed object and returns the report. + +Audit exit codes: **0** bounded `STATIC_PASS`; **1** one or more blocking findings; **2** invalid/unreadable JSON or command-line usage; **3** requested report output could not be written. `STATIC_PASS` always carries outstanding G2/G3/G4/G5/G7/G8/G10 obligations. Every finding blocks the static result; `fatal_gaps` is the subset that specifically identifies missing/unsupported certification. Retained isolated findings appear separately and never mean those files are clean. CLI input errors produce JSON except argparse usage errors. G0 exit 0 means every declared mutant was killed; any surviving/invalid/crashing mutant or baseline error is nonzero. No weakening/skip option exists. + +To run selftests alone (development, not a replacement for G0): + +```sh +python -B -S -m unittest discover -s tests -v +``` + +## Manifest schema v1 + +JSON accepts integers only; duplicate keys, floats, NaN and Infinity are rejected. Top-level keys are **exactly**: + +```json +{ + "schema_version": 1, + "approved_axioms": ["propext", "Classical.choice", "Quot.sound"], + "roots": [ + { + "id": "math", + "path": "/absolute/final-tree", + "tree_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "tracked_files": ["Closed.lean"], + "files": { + "Closed.lean": { + "sha256": "<64 lowercase hexadecimal content digest>", + "kind": "project_lean", + "module": "lean:Closed", + "vacuity": { + "t@1": { + "status": "conditional", + "premises": [], + "reason": "No nonvacuity certificate claimed; elaborated statement review remains G2/G8." + } + } + } + } + } + ], + "module_map": {"lean:Closed": "math:Closed.lean"} +} +``` + +This is a schema illustration: replace the absolute root, immutable tree id, exact inventory and actual SHA256 values. Roots are nonempty, normalized absolute directories with unique ASCII ids (`[A-Za-z0-9_-]+`) and nonoverlapping paths. A tree id is 40 or 64 lowercase hexadecimal characters; G10 authenticates its connection to the supplied inventory. Every root has a nonempty unique list of normalized relative NFC paths, no `..`, backslashes or symlink component. `files` keys equal `tracked_files` exactly. No exclusions or inferred quarantine folders exist. The controller supplies the full final tracked scope; untracked state and inventory authenticity remain G10. + +Every file requires `kind` and `sha256`. Unknown fields and fields inapplicable to its kind fail. Additional fields by kind: + +| kind | Fields and obligations | +|---|---| +| `project_lean` | `module`, `vacuity` required; `.lean` source | +| `math_python` | `module` required; `.py`/`.pyi` closed exact-program profile | +| `engineering_python` | `module`, `nonmath_review` required; `.py`/`.pyi`; floats only in explicit bound nonmathematical reviewed scope | +| `negative_fixture` | `language`, `module`, `expected_findings`, `fixture_purpose`; retains actual negative tests | +| `quarantined_source` | `language`, `module`, `expected_findings`, `quarantine`; exact terminal isolation | +| `external_pinned` | `pin` required; source requires supported `language`/`module` and Lean `vacuity`; optional binary `bindings` | +| `binary_proof` | `bindings` required, optional `pin`; bytes are not treated as text | +| `documentation`, `data` | optional `status_evidence: true` for JSON status surfaces; other known source/proof suffixes cannot be relabeled this way | + +`language` is `lean` or `python`. Retained source always requires language and a registered module, including a `.txt` filename; a mapped external module likewise requires supported source analysis. Historical `.lean.txt`/`.py.txt` source is recognized. Known unsupported source extensions fail with `LANGUAGE_GAP` even if labeled Lean/Python; they require an appropriate certifier, not arbitrary data labeling. Nonbinary files must decode strict UTF-8. Actual reads and explicit permission bits are checked, including under a privileged reader. Immutable `pin` is exactly `{ "revision": "<40 or 64 lowercase hex>", "origin": "" }`. Dependencies are scanned, never automatically declared safe by pinning. Known binary object suffixes also require G2/G4 bindings when `external_pinned`. + +A source module has exactly one identity, e.g. `lean:Closed.Base` or `python:certifier`, and its one `module_map` value is `rootid:relative/path`. Maps cannot point to documents or alias a differently declared module. Explicit imports resolve through this map. Closed code may not reach negative/quarantined source through any mapped import chain. Python `from fractions import Fraction [as alias]` is the sole built-in exact-math profile import; G7 must bind/authenticate that Python runtime and fractions implementation. Mapped local `fractions` modules take precedence over the stdlib exception; a mathematical source cannot depend on an engineering-only replacement. Python mapped package prefixes and `from package import submodule as alias` candidates also enter the isolation graph. Other unknown imports, relative/star imports, reflective loaders, macro expansion and unsupported mechanisms remain reported gaps. Plain Lean module identifiers including apostrophe, `!` and `?` suffixes are extracted completely. Unsupported or escaped operands and trailing syntax are explicit `LEAN_IMPORT_GAP` findings even after a valid prefix. Both Python scopes refuse explicit reflective namespace entrypoints (`__builtins__`, `vars`, `getattr`, `setattr`, `delattr`, globals/locals and defined globals/class/frame attributes); an engineering review does not waive that boundary. There is no general import/dataflow completeness claim. + +## Retained source and certificates + +`expected_findings` is an exact map of checker code to positive integer occurrence count, e.g. `{"LEAN_PLACEHOLDER": 1}`. `{}` is valid for a retained semantic failure that has no lexical violation; G5 still must retain and execute its actual failing test. Missing or extra scanner findings block. No retained source is counted as clean. + +A quarantine object has exactly: + +```json +{"id":"Q-1","boundary":"root:path and exact isolated mathematical boundary","blocking_reason":"specific unproved fact","owner":"none","maintenance":"zero"} +``` + +All evidence references have exactly `{"root":"id","path":"relative/file.json","sha256":""}`. The referenced file must itself be classified, readable, hash-bound JSON inside the manifest. Binding is mechanical; authentication and truth of its review/certificate are G8/controller work. + +An engineering `nonmath_review` reference points to exactly: + +```json +{"type":"nonmathematical_review","source_sha256":"","scope":"nonmathematical_execution_only","reviewer":"identified reviewer","rationale":"explicit reviewed execution scope; no mathematical certification"} +``` + +This is an affirmative review claim, not a waiver for mathematical floats. The controller must substantiate it. + +Lean `vacuity` keys cover exactly every lexical theorem/lemma/example as `name@line` (anonymous `example@line`). An entry has `status`, nonempty `reason`, and only the following applicable fields: + +- `conditional`: explicit `premises` string list, possibly empty; no satisfiability claim. +- `vacuous`: reason naming the unsatisfiable source-shaped hypotheses; syntactic contradiction candidates require this classification. +- `nonvacuous`: `evidence` reference to `{ "type":"nonvacuity_certificate", "subject_sha256":"", "declaration":"name@line", "witness_description":"actual witness and certificate description" }`. + +Candidates are syntax observations; arithmetic interpretations, aliases and arbitrary proposition SAT are not decided. G8 must validate the semantic interpretation of annotations, and G2 must expose generated/aliased statements. Conditional status never closes a mathematical hypothesis obligation. + +Binary `bindings` is exactly `{"G2":,"G4":}`. Each reference points to a passing JSON object with `type: "kernel_evidence"`, corresponding `gate`, `subject_sha256` equal to the object's content hash, `observed_status: "PASS"`, integer `exit_code: 0`, a nonempty command list and nonempty `run_id`. G2/G4 must actually supply/authenticate that result; byte/hash presence cannot create it. + +## Status evidence schema + +A file with `status_evidence: true` contains exactly required fields `schema_version:1`, `gate:G0..G11`, `observed_status:PASS|FAIL|NOT_RUN|ERROR|INACCESSIBLE`, nonempty `run_id`, nonempty string-list `command`, `exit_code`, and nonempty `inputs` mapping `rootid:path` to actual content SHA256. The only optional field is `evidence`, a bound JSON reference. `PASS` requires integer exit 0; `FAIL` requires nonzero integer exit; other observed execution states require integer exit. The observation JSON must equal all status fields except the evidence pointer, using canonical JSON comparison that distinguishes booleans from integers. `NOT_RUN` requires null exit and no observation evidence. This checks structure and bindings, never an aspirational Markdown label or command execution authenticity. + +## Published lexical reuse and evidence + +`canonical_lean.py` is the unchanged public `tools/cbz/layer_a_scan.py` from Main#698, head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b`, native Git blob `2eee3a2200082444093935291b9389c0795641cf`. `LEXER_PROVENANCE.json` records its exact source binding. The adapter consumes its seven-field identifier stream, character-literal recognizer and unchanged numeral spelling recognizer; path contexts, filesystem/Git walking and standalone CLI are unused. Every supplied file remains explicitly classified by the manifest. Unsupported token metadata or lexical errors cannot produce a clean result. + +This replaces the older ULW29 engine after two concrete source-admission gaps: a valid `0axiom` command boundary hid an owned axiom, and nested quoted terms inside `throwError` interpolation hid an explicit `sorry`. The canonical engine supplies the numeric boundaries and conservative interpolation-hole scan; no second lexer engine is introduced. The bounded secondary metadata parser remains responsible for imports and source-shaped declaration/vacuity metadata. A conservative hole interpretation may also flag hazard-looking brace text inside an ordinary string. Arbitrary macro semantics remain G2/G4 work. + +The lexer integration receipt remains `evidence/lexer698-admission.json`: its 45 affected methods and 19 scanner mutants per mode are predecessor-scope observations reused here. The predecessor 87-method composition, including four then-new lazy-body methods, is recorded separately at `evidence/lazy-body-profile/current-composed-admission.json`. Main#698's existing actual Lean counterexample sources and compiler logs are retained under `evidence/public-main698-38312e16/independent-review/` and reused without compiler replay. Its contributor 72-test/two-mode and 66 lexical plus 23 A3 mutant results are inherited source evidence, not a new run of this wrapper. + +The historical Main#697 head `027505fee908693ded0a9e99eaa974ea6f419c6b` passed 70 tests and 53/53 source mutants, receipt `evidence/g0-admission-final.json` (SHA256 `8f03335ff833b706445e1a6b6d8232548ece81cb439626e87275c5a6ffc98fe7`). Those results remain valid in their recorded scope and are reused only where the relevant source/dependencies are unchanged. They do not cover the newly discovered cases or certify the changed lexer bytes. The old source/tests/provenance and receipts are preserved at `evidence/pre-canonical698-source/`; earlier b7eebb4 and hardening generations remain distinct. + +G0 receipts bind the actual checker/test/spec/README source hashes and each changed checker hash/log. Invalid syntax, import/runtime errors and timeouts do not count as killed mutants. Identity-mutant and crashing-mutant tests verify the harness itself. Initial red runs and the original permission-guard survivor are retained as development evidence; the original guard-removal mutant remains in the final declared set alongside the actual skip-file mutant. The privilege-descriptor fixture kills the original by assertion. All final threshold decisions use exact integer counts, never floating point. + +Owned by the root CBZ integrator after admission. This agent only writes this directory and its discovery build report. Root owns the final registry, tracked scope, source receipt verification, G0–G11 final run and any CBZ-0 declaration. + +Hardening scope: `Environment.addDeclWithoutChecking` and qualified/escaped forms are blocking `LEAN_KERNEL_BYPASS` findings. Escaped `admitGoal`/`mkSorry` helper constants are refused alongside `sorryAx`. Unterminated character literals fail with `LEAN_LEXICAL_GAP`. Every exact `native` identifier is conservatively refused, so native configuration flags do not evade detection through whitespace, line breaks or nested comments; this policy can also reject harmless uses of that identifier. Comments and raw strings remain noncode; ordinary string bodies are also conservatively scanned for executable brace holes. No arbitrary alias expansion, semantic kernel trust or SAT completeness is claimed. The finite planted layouts are listed in `evidence/hardening-assessment.json`. + +Canonical lexical diagnostics are deduplicated by their exact `(line, column, kind)` tuple in first-seen order and emitted after the secondary lexer findings. Distinct diagnostics remain distinct; the manifest auditor sorts its final findings deterministically. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +Current composed inventory is 94 methods: 79 auditor methods and 15 existing grader methods. This numeric-metadata repair freshly exercised 52 methods (45 affected predecessor Lean methods plus 7 new methods) in both normal and optimized modes; 42 unaffected predecessor methods retain applicable evidence. There are 60 checker mutation definitions: 57 unchanged predecessor definitions retain their source-bound evidence and 3 new metadata-guard mutants are killed by real body assertions in both modes. No fresh whole-94-method suite, 60-mutant G0, CI, Lean or mathematical run is claimed. Current receipt: `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. + + +## Synchronous None-return mutation-grader profile + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +Current composed inventory is 94 methods: 79 auditor methods and 15 existing grader methods. This numeric-metadata repair freshly exercised 52 methods (45 affected predecessor Lean methods plus 7 new methods) in both normal and optimized modes; 42 unaffected predecessor methods retain applicable evidence. There are 60 checker mutation definitions: 57 unchanged predecessor definitions retain their source-bound evidence and 3 new metadata-guard mutants are killed by real body assertions in both modes. No fresh whole-94-method suite, 60-mutant G0, CI, Lean or mathematical run is claimed. Current receipt: `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/SPEC.md b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/SPEC.md new file mode 100644 index 000000000..4facf2a1f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/SPEC.md @@ -0,0 +1,57 @@ +# CBZ Layer A static auditor — bounded specification + +Purpose: G0 tests the auditor itself; G1 checks a root-authorized exact tracked-file manifest. This is a focused Python-stdlib command, not a Lean parser, kernel, SAT solver, Python interpreter or general framework. A successful result is `STATIC_PASS`, never CBZ-0 or proof closure. + +## Authority and scope + +The final federation controller supplies schema v1: exact roots, immutable tree identifiers, complete tracked-file lists, and one hash-bound classification per tracked file. The auditor validates every listed file, exact classification coverage, normalized paths, absence of symlink aliases, UTF-8 where applicable, readability, content SHA256, and all class-specific obligations. It never guesses exclusions or silently skips a file. The authority/completeness of the supplied Git inventory remains G10; this tool deliberately does not run Git. Its report binds manifest bytes, inventory lists and every scanned file. The manifest is supplied outside the audited root in tests; production may bind it as controller evidence outside its own hash cycle. + +Classifications: `project_lean`, `math_python`, `engineering_python`, `negative_fixture`, `quarantined_source`, `external_pinned`, `binary_proof`, `documentation`, `data`. Source-looking extensions cannot be relabeled documentation/data. Every source, including quarantined and negative source, is scanned. Retained negative/quarantined source must name its exact expected finding multiset; extra or absent findings fail. Quarantine additionally records an exact nonempty boundary, blocking reason, id and source hash. These records are dispositions, not clean source. Binary proofs require content-bound G2 and G4 evidence references. External files require immutable revision pin metadata; no implicit dependency trust exception exists. + +## Mechanical claims + +Lean: Root's unchanged canonical Main#698 identifier lexer (`canonical_lean.py`, provenance in `LEXER_PROVENANCE.json`) supplies the hazard stream through a seven-field metadata compatibility adapter; a bounded punctuation/header lexer supplies import/declaration metadata and malformed-input detection. Unsupported token metadata and canonical lexical errors fail closed. Together they handle line comments, nested block comments, ordinary/raw string literals, character literals, escaped identifiers and Unicode identifier boundaries. The canonical engine uses Lean numeric token boundaries, so an adjoining `0axiom` cannot swallow a command keyword. Its conservative brace-hole interpretation scans nested quoted terms inside possible macro interpolation such as `throwError "bad {let x := "safe"; (sorry : Nat)}"`; this may add findings for ordinary brace text and does not certify arbitrary macro semantics. The secondary parser conservatively refuses its unsupported interpolation forms. Outside comments/raw strings, including code in these possible interpolation holes, it detects exact `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, axiom/constant declarations, `native_decide`, `native`, `ofReduceBool`, `ofReduceNat`, `ofReduceInt`, `trustCompiler` and `skipKernelTC`, including qualified forms. `addDeclWithoutChecking` (qualified/escaped forms included) is a blocking unchecked-kernel-insertion hazard. Escaped `sorryAx`/`admitGoal`/`mkSorry` constant names remain hazards, while escaped keyword identifiers such as `«sorry»` are not logical placeholders. An exact `native` identifier is always refused, conservatively covering native-decide configuration across whitespace, newlines and nested comments without depending on a follow-text regular expression. Float/Float32 and unsafe/macro/elaborator/FFI syntax are flagged for explicit G2/G4 follow-up because lexical inspection cannot certify its expansion. Imported project macros can inject axioms without these tokens: G2 must enumerate ALL elaborated owned declarations, including private/generated ones, and G4 must kernel recheck them. + +Approved foundation declaration profile: **no newly declared owned source axiom is permitted**, even when named `propext`, `Classical.choice` or `Quot.sound`. The approved imported transitive axiom set is exactly `{propext, Classical.choice, Quot.sound}`; only G2's all-declaration kernel environment audit can authenticate that set and those actual declarations. Lexical source naming cannot create an exception to it. Dependencies are immutable pinned inputs, not arbitrary new foundation declarations. + +Math Python: an explicit AST allowlist accepts closed-program exact integer/`fractions.Fraction` arithmetic, exact builtins and statically named local functions. No floating/complex literals, `/`, unrestricted powers, arbitrary imports, dynamic calls, reflective attributes, classes, decorators, async, external input, exceptions as proof, or builtin/Fraction rebinding. `**` requires a nonnegative integer literal exponent. Fraction import aliases are supported and protected. This is a conservative syntactic exact-arithmetic profile, not arbitrary interprocedural float-dataflow analysis. Functions are certified only as part of the closed program; external callers are outside the profile. Engineering Python allows floats only with a hash-bound explicit review declaring nonmathematical execution scope; it is parsed and dependency checked, never silently admitted as mathematical certification. + +Boundary checks: explicit Lean and Python imports from closed sources resolve through `module_map` to classified pinned files. Closed code cannot import quarantine or negative fixtures, including transitive import chains. Plain Lean module operands include apostrophe, `!` and `?` identifier suffixes; an unsupported operand or trailing token is a gap even after a valid module prefix. Escaped module syntax is outside this bounded import parser and is refused. Python refuses explicit reflective namespace/loader entrypoints in both mathematical and engineering source, including builtins/namespace names and the defined globals/class/frame reflective attributes; a nonmathematical review cannot waive import isolation. Unresolved/dynamic/unsupported import mechanisms are fatal gaps (or exact retained findings in isolated source); no claim of arbitrary runtime dependency completeness is made. The module map must agree with per-file declared module identities and cannot alias names. Retained source requires supported language/module metadata regardless of suffix; an external mapped module also requires a supported source language. Known unsupported source suffixes remain gaps even if labeled Lean/Python. G2/G4 must account for generated modules, macros, FFI and runtime-dependent loading; unknown cases are never green. + +A6: every lexical theorem/lemma/example has an entry keyed `name@line` (`example@line` for anonymous examples). Entries are `conditional` with explicit premises/reason, `nonvacuous` with a bound evidence reference, or `vacuous` with a reason. Syntactic candidates (`False` hypothesis, `False →`, opposing `P`/`¬P`, self-strict inequality/disequality, incompatible literal equality) require `vacuous` classification. These are source-shape candidates, not a decision procedure for Lean proposition satisfiability; aliases, typeclass interpretations and arbitrary semantic inconsistency require separate certificates/G2 elaborated statement review. The report lists all detected candidates and all conditional claims. + +A7: status JSON is checked only when explicitly bound with `status_evidence`: exact allowed observed state, gate id, command, run id, input hashes, evidence reference and exit code must agree. Observation equality uses canonical JSON serialization so booleans and integers remain distinct. An observation file is evidence structure/content binding, not authentication that the command actually ran. G8/controller execution receipts supply that provenance. Markdown truth and no-weakened-bound historical intent are outside lexical decidability; they require G8 and source-history review respectively. + +## Nonclaims and hard limits + +No source scanner proves arbitrary mathematics, satisfiability, bound strength, historical test retention, semantic status truth, pin compatibility, kernel trust, command execution or external review authenticity. G2/G3/G4/G5/G7/G8/G10 and relevant manual certificates remain explicit obligations. `STATIC_PASS` covers only the stated mechanical rules under the supplied final tracked inventory. Any missing/unsupported case is a finding/fatal gap, never a skipped green case. Test/mutation scores are finite declared coverage, not a proof of all possible checker behavior. + +## Delivery and authorization + +Owner's explicit autonomous directive supersedes skill approval/branch/commit/reviewer ceremony. Work is confined to `tools/layer_a/` and `discovery/auditor-build-report.{md,json}`; root owns Git, registry, final manifests and final G0–G11. Existing `formal/gate.py` hash/path/axiom target checks were inspected: their target-scoped audit and source-manifest checks are useful G2/G3/G4 components but do not implement this lexer/AST/full-classification contract. Their invariant patterns (safe paths, exact hashes, strict JSON, exact approved set) are retained; their package-specific execution and destructive build routines are not copied or run. + +Published component reuse: exact native blob `2eee3a2200082444093935291b9389c0795641cf` at Main#698 head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b` is imported unchanged. Its published 72-test/two-mode, 66 lexical-mutant and 23 A3-mutant results remain inherited component evidence, not a local wrapper rerun. Its actual Lean counterexample source/log evidence is reused without compiler replay. The adapter uses the canonical identifier stream and character-literal recognizer, with no heuristic directory exclusions or Git execution from the standalone entrypoint. The old ULW29 source/provenance/tests and historical 70/53 receipt are preserved under `evidence/pre-canonical698-source/` and remain exact historical evidence. The predecessor lexer affected-scope receipt is `evidence/lexer698-admission.json`; the predecessor 87-method lazy-body composition includes four new methods and reuses the preceding 83 methods, as recorded at `evidence/lazy-body-profile/current-composed-admission.json`; unchanged applicable checks remain reusable and no new full-suite score is implied. + +Hardening trigger: a concrete integration review exposed unchecked declaration insertion, malformed character and escaped helper gaps. `evidence/hardening-reported-cases-red.log` retains the observed RED cases; the previous nine G0-bound source/doc files are preserved exactly in `evidence/pre-hardening-source/`. No historical repository mathematics was repeated. Actual repository G1 remains root-owned and NOT_RUN here. + +Canonical lexer integration trigger: newly demonstrated numeral-adjoining owned axioms and nested quoted `throwError` terms were missed by both old source passes. The repair adopts the single canonical engine and a minimal API adapter; it does not add another lexer. Fresh checks are limited to changed Lean integration and defect-bound mutants. Existing Python/manifest-only checks, mutation-accounting checks and completed mathematical verification remain reusable where their relevant dependencies are unchanged. No mathematical/compiler replay was performed for this repair. + +Canonical lexical diagnostics are deduplicated by their exact `(line, column, kind)` tuple in first-seen order and emitted after the secondary lexer findings. Distinct diagnostics remain distinct; the manifest auditor sorts its final findings deterministically. + + +A mutation kill requires a complete, externally bound selected unittest population and exact direct/body-subtest assertion provenance. Lifecycle failures, unsupported identity/population states, errors, skips, expected failures, and incomplete or inconsistent receipts are not kills. Historical body-trace evidence is version-bound and retained separately from fresh structured runner receipts. + +Current composed inventory is 94 methods: 79 auditor methods and 15 existing grader methods. This numeric-metadata repair freshly exercised 52 methods (45 affected predecessor Lean methods plus 7 new methods) in both normal and optimized modes; 42 unaffected predecessor methods retain applicable evidence. There are 60 checker mutation definitions: 57 unchanged predecessor definitions retain their source-bound evidence and 3 new metadata-guard mutants are killed by real body assertions in both modes. No fresh whole-94-method suite, 60-mutant G0, CI, Lean or mathematical run is claimed. Current receipt: `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. + + +## Synchronous None-return mutation-grader profile + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +Current composed inventory is 94 methods: 79 auditor methods and 15 existing grader methods. This numeric-metadata repair freshly exercised 52 methods (45 affected predecessor Lean methods plus 7 new methods) in both normal and optimized modes; 42 unaffected predecessor methods retain applicable evidence. There are 60 checker mutation definitions: 57 unchanged predecessor definitions retain their source-bound evidence and 3 new metadata-guard mutants are killed by real body assertions in both modes. No fresh whole-94-method suite, 60-mutant G0, CI, Lean or mathematical run is claimed. Current receipt: `evidence/declaration-numeric/current-composed-admission.json`; see `NUMERIC_DECLARATION_FIX.md`. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. diff --git a/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/TOOLING_REGISTRY.md b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/TOOLING_REGISTRY.md new file mode 100644 index 000000000..e09f51213 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/pre-review-identity-metadata/TOOLING_REGISTRY.md @@ -0,0 +1,46 @@ +# Tooling registry payload — exact-scope Layer A auditor + +Root owns canonical registration and federation admission. This is the numeric-metadata successor overlay from published head `eedb46c36e664b66684a701c3adeacb70f8fac2f`. + +| Field | Value | +|---|---| +| Tool id | `CBZ-LAYER-A-EXACT-SCOPE-v1` | +| Contribution location | `cbz/contributions/math514/layer_a/` | +| Alternative admitted location | `tools/cbz/exact_scope/`, preserving the complete layout | +| Runtime | CPython 3.11+ standard library and unchanged canonical public lexer | +| Contract | `SPEC.md` and `README.md` | +| Current method inventory | 94 = 79 auditor + 15 existing grader methods | +| Fresh successor method evidence | 52 affected methods = 45 predecessor Lean + 7 new, normal and optimized | +| Reused predecessor method evidence | 42 unaffected methods; no whole-suite replay | +| Checker mutation definitions | 60 = 57 preserved/source-bound predecessors + 3 new guards killed in both modes | +| Current composition | `evidence/declaration-numeric/current-composed-admission.json` | +| Prior composition | `evidence/composed-admission.json`, unchanged historical receipt | +| Actual repository G1 | NOT_RUN; final manifest and authenticated inventory remain root-owned | +| Mathematical effect | NONE; no mathematical, Lean, build or CI replay | + +Mutation grading supports ordinary synchronous Python unittest functions or bound methods returning exactly None. Generator, coroutine, async-generator and every wraps-linked lazy method layer are refused during pristine discovery before fixtures or bodies execute. Every non-None return is ERROR, including False, zero, empty strings and opaque iterables. Returned objects are never evaluated for truth, compared for equality, iterated or awaited. Only a fresh native coroutine in CORO_CREATED state may be closed without entering its body. Creating a suspended call object is not evidence that its deferred body executed. + +The predecessor lazy-body repair has four distinct new methods in each mode, eighteen fixture receipts per mode with zero lazy-execution sentinels, and three final None-profile safeguard mutations killed by assertions in both modes (six mode executions). The superseded lazy-type generation contains five safeguard themes in two modes (ten mode executions); three unchanged shape, wraps-chain and native-coroutine-disposal themes remain applicable and are reused. These sixteen generation-bound observations are not sixteen distinct production mutants. Packaging ran none of these checks again. + +The predecessor receipt remains unchanged at `evidence/composed-admission.json`: its 56 distinct affected methods (45 lexer, 8 lifecycle and 3 retained harness methods) plus 27 unaffected auditor methods cover its 83-method population under their recorded assumptions. Its 19/38 scanner-mutant composition, three one-method dynamic source controls and 10+3+2 generation-bound grader observations remain historical; repeated duplicate-population observations are not distinct production mutants. The original 70/53 and earlier failed generations also remain historical. + +Predecessor lazy-body composition: `evidence/lazy-body-profile/current-composed-admission.json`. Its evidence is under `evidence/lazy-body-profile/`: `REPORT.md`, `frozen-manifest.json`, `new-guard-source-controls.json`, normal/optimized logs and fixture receipts. Scoped independent review: `evidence/lazy-body-profile/shared/independent-lazy-body-review.json` (SHA256 8e6c0de322cb2296d2ac9bf472bcb29c3fcdfaa941541539e1fc467d5a47c933); its layer_a section binds the final two runtime hashes. Static original-method shape applicability is preserved alongside it. This review and mathematical evidence do not satisfy an unrelated provider-distinct process requirement. + +The exact canonical Main#698 lexer remains unchanged at head `38312e16f7ae22aeb433823c4a00a2cc80e23d0b`, blob `2eee3a2200082444093935291b9389c0795641cf`; `LEXER_PROVENANCE.json` binds its bytes. The original bounded manifest/hash/isolation, exact Python AST and Lean metadata contracts remain unchanged. G2/G4 semantic kernel work, G7 runtime/dependency pins, G8 authenticity and G10 final inventory remain separate obligations. + +Public commands are unchanged: + +```sh +python -B -S mutation_test.py --output /absolute/controller-evidence/g0-admission.json +python -B -S auditor.py audit --manifest /absolute/final-scope.json --output /absolute/controller-evidence/g1-report.json +``` + +Use fresh output paths only when a new execution is warranted. Rebuilding, copying or publishing this overlay does not run these commands. Retain completed applicable verification on unchanged relevant inputs; review handoffs and process requirements do not erase it. + +| Updated registered file | SHA256 | +|---|---| +| `source_checks.py` | `1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec` | +| `mutation_test.py` | `e0cc3d77716e143dd374f2a23fc28923b8590e5dffed83e20733cd329553ddeb` | +| `tests/test_auditor.py` | `d28d370108b5466f510e540c2e673de2f96e1286aa9d44212728b0c2a8bd7b3c` | + +Purpose, limits and scoped reproduction commands: `NUMERIC_DECLARATION_FIX.md`. This repair serves CBZ criteria 4, 6, 7, 9 and 11; maintenance owner: none, self-contained. Its self-verification is the recorded affected controls and source mutations, not a new global G0/G1 claim. diff --git a/cbz/contributions/math514/layer_a/evidence/public-lexer-integration-green.log b/cbz/contributions/math514/layer_a/evidence/public-lexer-integration-green.log new file mode 100644 index 000000000..241c418da --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-lexer-integration-green.log @@ -0,0 +1,53 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... ok +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok +test_invalid_checker_syntax_is_invalid_mutant_not_killed (test_mutation_runner.MutationHarnessRules.test_invalid_checker_syntax_is_invalid_mutant_not_killed) ... ok +test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill (test_mutation_runner.MutationHarnessRules.test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill) ... ok +test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant (test_mutation_runner.MutationHarnessRules.test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant) ... ok + +---------------------------------------------------------------------- +Ran 48 tests in 1.031s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/public-lexer-integration-red.log b/cbz/contributions/math514/layer_a/evidence/public-lexer-integration-red.log new file mode 100644 index 000000000..8e14bb810 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-lexer-integration-red.log @@ -0,0 +1,104 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... ok +test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code (test_auditor.ManifestRules.test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code) ... ok +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... ok +test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable (test_auditor.ManifestRules.test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable) ... ok +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... ok +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... ok +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... ok +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... ok +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... ok +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode (test_auditor.ManifestRules.test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode) ... ok +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... ok +test_file_hash_failure_does_not_prevent_violation_detection (test_auditor.ManifestRules.test_file_hash_failure_does_not_prevent_violation_detection) ... ok +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... ok +test_malformed_manifest_values_fail_with_findings_instead_of_crashing (test_auditor.ManifestRules.test_malformed_manifest_values_fail_with_findings_instead_of_crashing) ... ok +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... ok +test_modules_cannot_point_to_documentation_in_place_of_source (test_auditor.ManifestRules.test_modules_cannot_point_to_documentation_in_place_of_source) ... ok +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... ok +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... ok +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... ok +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... ok +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... ok +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... ok +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... ok +test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read (test_auditor.ManifestRules.test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read) ... ok +test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) ... + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') ... FAIL + test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') ... FAIL +test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions (test_auditor.SourceRules.test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions) ... ok +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_lean_block_comment_separator_cannot_join_identifiers_into_escape (test_auditor.SourceRules.test_lean_block_comment_separator_cannot_join_identifiers_into_escape) ... ok +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... ok +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... ok +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... ok +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... ok +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... ok +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... ok +test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps (test_auditor.SourceRules.test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps) ... ok +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... ok +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... ok + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Elab.admitGoal') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def x := Lean.Meta.mkSorry') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='set_option debug.skipKernelTC true') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_NATIVE' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def sorryλ := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_PLACEHOLDER' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='def f (x : Float) := x') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_FLOAT_REVIEW_GAP' not found in set() + +====================================================================== +FAIL: test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries (test_auditor.SourceRules.test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries) (text='@[extern "c"] def f := 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 81, in test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries + self.assertIn(code,self.lean_codes(text)) +AssertionError: 'LEAN_EXPANSION_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 45 tests in 0.248s + +FAILED (failures=6) diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/FETCH_METADATA.json b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/FETCH_METADATA.json new file mode 100644 index 000000000..928976799 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/FETCH_METADATA.json @@ -0,0 +1,47 @@ +{ + "repository": "d6g8k5htny-coder/main", + "head": "38312e16f7ae22aeb433823c4a00a2cc80e23d0b", + "source_path": "tools/cbz/layer_a_scan.py", + "source_blob": "2eee3a2200082444093935291b9389c0795641cf", + "source_sha256": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "source_bytes": 24721, + "mechanism": "native GitHub fetch_file at explicit immutable ref; source Git blob independently matches exact local bytes", + "retained_files": [ + { + "path": "independent-review/numeral-command.lean.txt", + "sha": "46435e50ab67663f75ad008b77d772babbc17c66", + "source_url": "https://github.com/d6g8k5htny-coder/main/blob/38312e16f7ae22aeb433823c4a00a2cc80e23d0b/cbz/evidence/auditor-consolidation/independent-review/numeral-command.lean.txt" + }, + { + "path": "independent-review/numeral-command-lean.log", + "sha": "dd8796143faf23302ae7253e9bab316c76187478", + "source_url": "https://github.com/d6g8k5htny-coder/main/blob/38312e16f7ae22aeb433823c4a00a2cc80e23d0b/cbz/evidence/auditor-consolidation/independent-review/numeral-command-lean.log" + }, + { + "path": "independent-review/macro-string.lean.txt", + "sha": "3d94783f5cb651e385662eabe17b7d5bde12a6ff", + "source_url": "https://github.com/d6g8k5htny-coder/main/blob/38312e16f7ae22aeb433823c4a00a2cc80e23d0b/cbz/evidence/auditor-consolidation/independent-review/macro-string.lean.txt" + }, + { + "path": "independent-review/macro-string-lean.log", + "sha": "b5dd24a938368c170b28afb1ce8b7cd29d20099e", + "source_url": "https://github.com/d6g8k5htny-coder/main/blob/38312e16f7ae22aeb433823c4a00a2cc80e23d0b/cbz/evidence/auditor-consolidation/independent-review/macro-string-lean.log" + }, + { + "path": "independent-review/REVIEW.md", + "sha": "b0a38496df22e2cec99dc7b1e9d580e30875751d", + "source_url": "https://github.com/d6g8k5htny-coder/main/blob/38312e16f7ae22aeb433823c4a00a2cc80e23d0b/cbz/evidence/auditor-consolidation/independent-review/REVIEW.md" + }, + { + "path": "independent-review/radix-command.lean.txt", + "sha": "209c70ee55fdff4c22c1259983f12685218159cc", + "source_url": "https://github.com/d6g8k5htny-coder/main/blob/38312e16f7ae22aeb433823c4a00a2cc80e23d0b/cbz/evidence/auditor-consolidation/independent-review/radix-command.lean.txt" + }, + { + "path": "independent-review/scientific-command.lean.txt", + "sha": "09bfcdfdf0abcdf86babcda95e6baea2e1cb0c8f", + "source_url": "https://github.com/d6g8k5htny-coder/main/blob/38312e16f7ae22aeb433823c4a00a2cc80e23d0b/cbz/evidence/auditor-consolidation/independent-review/scientific-command.lean.txt" + } + ], + "claim": "source custody and reuse of existing compiler outputs; no new compiler execution" +} diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/PR_METADATA.json b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/PR_METADATA.json new file mode 100644 index 000000000..89c513882 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/PR_METADATA.json @@ -0,0 +1,10 @@ +{ + "repository": "d6g8k5htny-coder/main", + "number": 698, + "head_sha": "38312e16f7ae22aeb433823c4a00a2cc80e23d0b", + "state": "open", + "merged": false, + "draft": false, + "updated_at": "2026-10-29T18:44:37Z", + "observation": "native get_pr_info read during this task before source adoption; normalized selected fields, not raw API payload" +} diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/REVIEW.md b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/REVIEW.md new file mode 100644 index 000000000..b0a38496d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/REVIEW.md @@ -0,0 +1,12 @@ +# Independent scanner review + +Reviewed frozen scanner working bytes at SHA256 `679988ace9817638867f84ada19d7171fc0b5749f313f5fb5b2a45a26e6d2fde`, on repository base `27c89b05bd2503c580b692f57146d608a7f0f668`. Candidate paths were untracked. The author confirmed this freeze before findings were delivered. Author repairs subsequently changed working bytes; this review is not a verdict on those successor bytes. + +Two P1 false negatives were observed using official Lean 4.34.1 and CPython 3.11.16. Both valid source fixtures compile with exit0 and expose a forbidden axiom through `#print axioms`, while the scanner CLI with `--fail-on all` exits0 with zero findings and lexical errors. + +1. `macro-string.lean`: builtin `throwError` interpolation containing a nested ordinary quoted string hides an explicit `sorry` term. `def f : CoreM Unit := throwError "bad {let x := "safe"; (sorry : Nat)}"`. Actual axiom set includes `sorryAx`. The primary ordinary-string scan stops at the nested quote before the interpolation hole closes; its later string then hides the placeholder. Balanced-hole postprocessing does not see the complete region. +2. `numeral-command.lean`: `def harmless := 0axiom hiddenPremise : False` followed by `theorem bad : False := hiddenPremise` is valid Lean. Actual axiom set for bad is `[hiddenPremise]`. The numeric scan consumes arbitrary alphanumeric suffixes and therefore swallows the axiom keyword in `0axiom`. Numeric token boundaries must follow Lean rather than generic isalnum. + +Exact source fixtures, compiler output, scanner JSON and scanner output are adjacent. The preliminary `numeral-adjacency.lean` attempt failed Lean elaboration/parsing; it is retained as a failed probe and is not the valid counterexample. No production source, tests, scanner working bytes, refs or remote metadata were edited by this reviewer. + +Both concrete findings were sent directly to the auditor author, root and receipt reviewer. The author confirmed the first and began source repairs; no final successor-source PASS is claimed. Kernel and semantic coverage remain separate from this finite lexical review. diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/macro-string-lean.log b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/macro-string-lean.log new file mode 100644 index 000000000..b5dd24a93 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/macro-string-lean.log @@ -0,0 +1,2 @@ +/workspace/cbz/discovery/scanner-independent-review/macro-string.lean:4:4: warning: declaration uses `sorry` +'f' depends on axioms: [propext, sorryAx, Classical.choice, Quot.sound] diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/macro-string.lean.txt b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/macro-string.lean.txt new file mode 100644 index 000000000..3d94783f5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/macro-string.lean.txt @@ -0,0 +1,5 @@ +import Lean +open Lean + +def f : CoreM Unit := throwError "bad {let x := "safe"; (sorry : Nat)}" +#print axioms f diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/numeral-command-lean.log b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/numeral-command-lean.log new file mode 100644 index 000000000..dd8796143 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/numeral-command-lean.log @@ -0,0 +1 @@ +'bad' depends on axioms: [hiddenPremise] diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/numeral-command.lean.txt b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/numeral-command.lean.txt new file mode 100644 index 000000000..46435e50a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/numeral-command.lean.txt @@ -0,0 +1,3 @@ +def harmless := 0axiom hiddenPremise : False +theorem bad : False := hiddenPremise +#print axioms bad diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/radix-command.lean.txt b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/radix-command.lean.txt new file mode 100644 index 000000000..209c70ee5 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/radix-command.lean.txt @@ -0,0 +1,6 @@ +def binary := 0b0axiom binaryPremise : False +def octal := 0o0axiom octalPremise : False +def exponent := 1.0E+1axiom exponentPremise : False +#print axioms binaryPremise +#print axioms octalPremise +#print axioms exponentPremise diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/scientific-command.lean.txt b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/scientific-command.lean.txt new file mode 100644 index 000000000..09bfcdfdf --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/independent-review/scientific-command.lean.txt @@ -0,0 +1,3 @@ +def harmless := 1e1axiom hiddenPremise : False +theorem bad : False := hiddenPremise +#print axioms bad diff --git a/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/layer_a_scan.py b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/layer_a_scan.py new file mode 100644 index 000000000..2eee3a220 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-main698-38312e16/layer_a_scan.py @@ -0,0 +1,621 @@ +#!/usr/bin/env python3 +"""Layer A textual scanner for Lean 4 sources (CBZ-0 gate G1). + +What it certifies, exactly: + For every scanned ``.lean`` file it reports each *code* token (outside + comments, string literals and char literals) that names a Layer A hazard: + + violation tokens (gate-failing in production context) + A1 placeholders : sorry, admit, sorryAx, admitGoal, mkSorry + A2 trust holes : axiom (declaration keyword), native_decide, + ofReduceBool, ofReduceNat, trustCompiler, + skipKernelTC (kernel-check bypass option), + addDeclWithoutChecking, and the ``decide`` options + ``+native`` / ``native := true`` + review tokens (reported, never gate-failing on their own) + A3 float : Float, Float32 + A2 compiled code: unsafe, implemented_by, extern + A1 tactic stop : ``stop`` as the first token on its line + + ``sorry``/``admit``/``axiom``/``native_decide``/``Float``/``Float32``/ + ``unsafe``/``stop`` match only as a whole undotted identifier; the other + violation tokens also match as the last component of a dotted name + (``Lean.ofReduceBool``, ``debug.skipKernelTC``), including an escaped + component (``Lean.«ofReduceBool»`` and ``«sorryAx»`` name the same + constants). An escaped keyword such as ``«sorry»`` is an ordinary + identifier, not the keyword, and is not flagged. + +Fail-closed: a string, block comment, raw string, interpolated string or +``«`` name or character literal left unterminated is reported as an ``error`` +finding, which fails the run like a violation, because the rest of the +file cannot be lexed reliably. + +What it does NOT certify: + * That a file compiles, or that no placeholder arises through + metaprogramming that never spells a listed token. Gates G2-G4 + (``#print axioms`` / kernel re-check) close that gap; this scanner is a + necessary, not sufficient, condition. + * Anything about non-Lean files (Python bounds are a separate gate). + +Lexing follows Lean 4: ``--`` line comments; nested ``/- -/`` block comments +(including ``/--`` and ``/-!``); ``"..."`` strings with backslash escapes; +interpolated strings (``s!"..{code}.."``, ``m!``, ``f!``) whose ``{}`` +regions are lexed as code, including layout after the prefix; balanced brace +regions in ordinary-looking strings are conservatively scanned too (macros +may interpolate them); raw strings ``r"..."`` / ``r#"..."#``; char +literals; and ``«...»`` escaped identifiers. + +Standard library only. No floating point is used in any decision. + +Usage: + layer_a_scan.py PATH... scan files/directories + layer_a_scan.py --git REPO --rev REV scan every .lean blob in a git tree +Options: + --json FILE write all findings as JSON + --fail-on CTX comma list of contexts whose violations fail the run + (default: production). Use "all" for every context. +Git mode scans regular owned blobs only: symlinks/gitlinks are rejected +until explicitly resolved and scanned by a separate pin-aware admission. +Filesystem mode rejects symlinks/missing roots, scans all directories except +.git (including .lake); prefer Git mode for repository-source inventories. +Use --fail-on all for the federation Layer A gate: context names are reporting +labels, not authorization to hide historical/control violations. +Exit status: 0 = no failing violation, 1 = failing violation, 2 = usage/IO. +""" +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys + +VIOLATION_EXACT = { + "sorry": "A1", + "admit": "A1", + "axiom": "A2", + "native_decide": "A2", +} +VIOLATION_COMPONENT = { + "sorryAx": "A1", + "admitGoal": "A1", + "mkSorry": "A1", + "ofReduceBool": "A2", + "ofReduceNat": "A2", + "trustCompiler": "A2", + "skipKernelTC": "A2", + "addDeclWithoutChecking": "A2", +} +REVIEW_EXACT = { + "Float": "A3", + "Float32": "A3", + "unsafe": "A2", +} +REVIEW_COMPONENT = { + "implemented_by": "A2", + "extern": "A2", +} +LINE_START_REVIEW = {"stop": "A1"} + +INTERP_PREFIXES = {"s!", "m!", "f!"} +# ``decide +native`` and ``native := true`` select compiler evaluation, i.e. +# ofReduceBool. ``native`` after a ``+`` is flagged even with a space between +# (safe direction: ``x + native`` is a false positive, never a miss). +_NATIVE_TRUE = re.compile(r"\s*:=\s*true(?![\w'!?])") +_EXCLUDED_LETTERS = {"λ", "Π", "Σ"} +_CHAR_LIT = re.compile(r"'(?:\\(?:u[0-9a-fA-F]{4}|x[0-9a-fA-F]{2}|[\\\"'rnt])|[^\\'\n])'") +# Pinned Lean4.34.1 Parser/Basic.lean:831-918. This recognizes spelling, +# never evaluates a numeral or makes a floating-point decision. +_NUMERAL = re.compile(r"(?:0[bB][01_]+|0[oO][0-7_]+|0[xX][0-9a-fA-F_]+|[0-9][0-9_]*(?:\.(?!\.)[0-9_]*)?(?:[eE][+-]?[0-9][0-9_]*)?)") + + +def _is_letter(ch: str) -> bool: + if ch in _EXCLUDED_LETTERS: + return False + if ch.isascii(): + return ch.isalpha() + o = ord(ch) + # Letter-like symbols and Greek/Coptic, as Lean's isLetterLike. + return (0x3B1 <= o <= 0x3C9 and o != 0x3BB) or (0x391 <= o <= 0x3A9 and o not in (0x3A0, 0x3A3)) \ + or 0x3CA <= o <= 0x3FB or 0x1F00 <= o <= 0x1FFE or 0x2100 <= o <= 0x214F \ + or 0x1D49C <= o <= 0x1D59F \ + or (0x00C0 <= o <= 0x00FF and o not in (0x00D7, 0x00F7)) \ + or 0x0100 <= o <= 0x017F + + +def _is_subscript(ch: str) -> bool: + o = ord(ch) + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A or o == 0x2C7C + + +def _id_start(ch: str) -> bool: + return ch == "_" or _is_letter(ch) + + +def _id_rest(ch: str) -> bool: + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or '0' <= ch <= '9' \ + or _is_letter(ch) or _is_subscript(ch) + + +def _code_follow(text: str, start: int) -> str: + """Remove layout from a native-option suffix, without a lookahead limit. + + Only the first assignment value is needed. Nested comments are layout; + an unfinished comment cannot manufacture a successful match. + """ + out = [] + i = start + while i < len(text) and len(out) < 8: + if text.startswith('--', i): + end = text.find('\n', i) + i = len(text) if end < 0 else end + elif text.startswith('/-', i): + depth = 1 + i += 2 + while i < len(text) and depth: + if text.startswith('/-', i): + depth += 1 + i += 2 + elif text.startswith('-/', i): + depth -= 1 + i += 2 + else: + i += 1 + if depth: + return '' + elif text[i].isspace(): + i += 1 + else: + out.append(text[i]) + i += 1 + return ''.join(out) + + +def _native_assignment(follow: str) -> bool: + """A native config field is unsafe unless its complete value is false. + + Eight non-layout characters cover ':=false' and its following delimiter. + Merely starting with false is insufficient (false || true is unsafe). + Other expressions are deliberately conservative findings, never evaluated. + """ + return (follow.startswith(':=') and + not (len(follow) >= 8 and follow[2:7] == 'false' and follow[7] in '},')) + + +def _brace_segments(text: str, start: int, end: int, line: int, col: int): + """Secondary conservative code-hole interpretation; primary cursor stays put. + + The same lexer reads a possible hole through nested strings/comments and + stops at its matching brace. It may extend past the first quote of the + primary ordinary-string interpretation: Lean macros can interpolate that + string and permit quoted terms inside its hole. Ambiguous ordinary brace + data can add findings, but cannot suppress primary-code findings. + """ + i = start + while i < end: + if text[i] == '\\': + i += 2 + continue + if text[i] == '{': + prefix = text[start:i + 1] + base_line = line + prefix.count('\n') + base_col = (len(prefix.rsplit('\n', 1)[-1]) + 1 if '\n' in prefix + else col + len(prefix)) + for name, ln, cl, first, plus, follow, field in lex_tokens(text[i + 1:], _until_brace=True): + yield name, base_line + ln - 1, (base_col + cl - 1 if ln == 1 else cl), first, plus, follow, field + i += 1 + + +def lex_tokens(text: str, errors: list | None = None, *, _until_brace: bool = False): + """Yield (name, line, col, line_start, plus_before, follow, field_before). + + ``name`` is the full dotted identifier text; an escaped ``«...»`` + component becomes ``\x00`` plus its text (inner dots as ``\x01``), so it + matches constant names but never a keyword. ``plus_before`` says the + identifier follows a ``+`` across layout; ``follow`` is a normalized + assignment-value prefix after it. + Unterminated constructs are appended to ``errors`` as (line, col, kind). + + Modes are kept on an explicit stack: a ``code`` frame (with a brace + depth when it is an interpolation region) or an ``istr`` frame (the body + of an interpolated string, where ``{`` opens a nested code region). + """ + i = 0 + n = len(text) + line = 1 + col = 1 + line_has_token = False + last_code_char = '' + stack: list[list] = [["code", 0 if _until_brace else None]] + if errors is None: + errors = [] + + def advance(k: int): + nonlocal i, line, col, line_has_token + for _ in range(k): + if i >= n: + return + if text[i] == "\n": + line += 1 + col = 1 + line_has_token = False + else: + col += 1 + i += 1 + + def read_ident_tail(parts: list[str]): + # dotted continuation: .ident or .«escaped» + while i < n and text[i] == "." and i + 1 < n and (_id_start(text[i + 1]) or text[i + 1] == "«"): + advance(1) + if text[i] == "«": + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + return + inner = text[i + 1:j] + advance(j + 1 - i) + parts.append("\x00" + inner.replace(".", "\x01")) + else: + s2 = i + while i < n and _id_rest(text[i]): + advance(1) + parts.append(text[s2:i]) + + while i < n: + frame = stack[-1] + c = text[i] + if frame[0] == "istr": + if c == "\\": + advance(2) + elif c == '"': + advance(1) + stack.pop() + elif c == "{": + advance(1) + stack.append(["code", 0]) + else: + advance(1) + continue + # ---- code mode + if c == "-" and text.startswith("--", i): + while i < n and text[i] != "\n": + advance(1) + continue + if c == "/" and text.startswith("/-", i): + start = (line, col) + depth = 0 + while i < n: + if text.startswith("/-", i): + depth += 1 + advance(2) + elif text.startswith("-/", i): + depth -= 1 + advance(2) + if depth == 0: + break + else: + advance(1) + if depth: + errors.append(start + ("unterminated_comment",)) + continue + if frame[1] is not None and c == "{": + frame[1] += 1 + advance(1) + continue + if frame[1] is not None and c == "}": + advance(1) + if frame[1] == 0: + if len(stack) == 1: + return + stack.pop() # back to the interpolated string body + else: + frame[1] -= 1 + continue + if c == '"': + if last_code_char in INTERP_PREFIXES: + start = (line, col) + advance(1) + stack.append(["istr", start[0], start[1]]) + line_has_token = True + last_code_char = '"' + continue + start = (line, col) + advance(1) + content_start = i + closed = False + while i < n: + cc = text[i] + if cc == "\\": + advance(2) + continue + advance(1) + if cc == '"': + closed = True + break + if not closed: + errors.append(start + ("unterminated_string",)) + else: + yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1) + line_has_token = True + last_code_char = '"' + continue + if c == "'": + m = _CHAR_LIT.match(text, i) + # Apostrophes also occur in Mathlib image/tSum/preimage notation. + prime_notation = (text.startswith("''", i) or + (i > 0 and not text[i - 1].isspace() + and text[i - 1] not in '=([{,;:')) + if m is None and not prime_notation: + errors.append((line, col, 'unterminated_char')) + advance(m.end() - i if m else (2 if text.startswith("''", i) else 1)) + line_has_token = True + last_code_char = "'" + continue + if c == "«": + start_line, start_col, start_first = line, col, not line_has_token + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + break + inner = text[i + 1:j] + advance(j + 1 - i) + parts = ["\x00" + inner.replace(".", "\x01")] + read_ident_tail(parts) + line_has_token = True + plus = last_code_char == '+' + field = last_code_char in ('{', ',', 'with') + last_code_char = 'identifier' + yield ".".join(parts), start_line, start_col, start_first, plus, _code_follow(text, i), field + continue + if _id_start(c): + start_line, start_col, start_first = line, col, not line_has_token + s = i + while i < n and _id_rest(text[i]): + advance(1) + word = text[s:i] + if word == "r" and i < n and text[i] in '"#': + k = i + while k < n and text[k] == "#": + k += 1 + if k < n and text[k] == '"': + close = '"' + "#" * (k - i) + end = text.find(close, k + 1) + if end < 0: + errors.append((start_line, start_col, "unterminated_raw_string")) + end = n if end < 0 else end + len(close) + advance(end - i) + line_has_token = True + last_code_char = '"' + continue + if word in INTERP_PREFIXES and i < n and text[i] == '"': + advance(1) + stack.append(["istr", start_line, start_col]) + line_has_token = True + last_code_char = '"' + continue + parts = [word] + read_ident_tail(parts) + line_has_token = True + plus = last_code_char == '+' + field = last_code_char in ('{', ',', 'with') + last_code_char = word + yield ".".join(parts), start_line, start_col, start_first, plus, _code_follow(text, i), field + continue + if c.isdigit(): + # A numeral can abut a command keyword in valid Lean (0axiom). + # Never swallow alphabetic code as part of a numeric token. + match = _NUMERAL.match(text, i) + advance(match.end() - i if match else 1) + line_has_token = True + last_code_char = 'number' + continue + if not c.isspace(): + line_has_token = True + last_code_char = c + advance(1) + for frame in stack: + if frame[0] == "istr": + errors.append((frame[1], frame[2], "unterminated_interpolated_string")) + break + + +def classify_token(name: str, line_start: bool, plus_before: bool = False, follow: str = "", field_before: bool = False): + """Return (kind, layer, severity) or None.""" + if name == '\x00native': + name = 'native' + last = name.split(".")[-1] + if last.startswith("\x00"): + # escaped component: the same constant name, never a keyword + last = last[1:] + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + if name == "native" and (plus_before or _NATIVE_TRUE.match(follow) or (field_before and _native_assignment(follow))): + return "native", "A2", "violation" + if "." not in name: + if name in VIOLATION_EXACT: + return name, VIOLATION_EXACT[name], "violation" + if name in REVIEW_EXACT: + return name, REVIEW_EXACT[name], "review" + if line_start and name in LINE_START_REVIEW: + return name, LINE_START_REVIEW[name], "review" + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + + +_EVIDENCE_SEG = re.compile(r"(^|/)(raw|runs|archive|attempts)(/|$)|-evidence(/|$)") +_CONTROL_NAME = re.compile(r"(?i)(control|negative|mutation|mutant|counterproof|falsifier)") + + +def context_of(path: str) -> str: + p = path.replace("\\", "/") + if _EVIDENCE_SEG.search(p): + return "evidence_copy" + if _CONTROL_NAME.search(os.path.basename(p)): + return "control" + return "production" + + +def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: + out = [] + ctx = context_of(path) + errors: list = [] + found = [] + seen = set() + for name, ln, cl, first, plus, follow, field in lex_tokens(text, errors): + r = classify_token(name, first, plus, follow, field) + if r is not None and (ln, cl, name, r) not in seen: + seen.add((ln, cl, name, r)) + found.append((ln, cl, name.replace("\x00", "«").replace("\x01", "."), r)) + for ln, cl, kind in errors: + found.append((ln, cl, "", (kind, "A", "error"))) + for ln, cl, token, (kind, layer, sev) in sorted(found, key=lambda x: (x[0], x[1])): + f = {"path": path, "line": ln, "col": cl, "token": token, "kind": kind, + "layer": layer, "severity": sev, "context": ctx} + if blob: + f["blob"] = blob + out.append(f) + return out + + +def iter_fs(paths): + def walk_error(exc): + raise exc + for p in paths: + if not os.path.exists(p): + raise OSError(f"source path does not exist: {p}") + if os.path.islink(p): + raise OSError(f"source symlink requires explicit target admission: {p}") + if os.path.isdir(p): + for root, dirs, files in os.walk(p, onerror=walk_error): + dirs[:] = sorted(d for d in dirs if d != ".git") + for d in dirs: + if os.path.islink(os.path.join(root, d)): + raise OSError(f"source directory symlink requires explicit target admission: {d}") + for fn in sorted(files): + if fn.endswith(".lean"): + full = os.path.join(root, fn) + if os.path.islink(full): + raise OSError(f"source symlink requires explicit target admission: {full}") + yield os.path.relpath(full, p), full + elif p.endswith(".lean"): + yield p, p + + +def git_lean_blobs(repo: str, rev: str): + env = {k: v for k, v in os.environ.items() if not k.startswith("GIT_")} + env.update(GIT_CONFIG_GLOBAL=os.devnull, GIT_CONFIG_SYSTEM=os.devnull, + GIT_NO_REPLACE_OBJECTS="1", GIT_NO_LAZY_FETCH="1", + GIT_TERMINAL_PROMPT="0") + cmd = ["git", "--no-replace-objects", "-C", repo] + ls = subprocess.run(cmd + ["ls-tree", "-r", "-z", rev], + check=True, capture_output=True, env=env).stdout + entries = [] + for rec in ls.split(b"\0"): + if not rec: + continue + meta, path = rec.split(b"\t", 1) + mode, typ, sha = meta.split() + p = path.decode("utf-8", "strict") + if typ == b"commit": + raise OSError(f"gitlink requires a separately pinned scan: {p}") + if typ == b"blob" and p.endswith(".lean"): + if mode not in (b"100644", b"100755"): + raise OSError(f"nonregular source blob requires explicit admission: {p}") + entries.append((p, sha.decode())) + if not entries: + return + proc = subprocess.Popen(cmd + ["cat-file", "--batch"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) + try: + for p, sha in entries: + proc.stdin.write(sha.encode() + b"\n") + proc.stdin.flush() + header = proc.stdout.readline().split() + if len(header) != 3 or header[0] != sha.encode() or header[1] != b"blob" or not header[2].isdigit(): + raise OSError(f"invalid git blob header: {p}") + size = int(header[2]) + data = proc.stdout.read(size) + trailer = proc.stdout.read(1) + if len(data) != size or trailer != b"\n": + raise OSError(f"truncated git blob: {p}") + yield p, sha, data + proc.stdin.close() + code = proc.wait() + if code != 0: + raise OSError(f"git cat-file failed with exit {code}") + finally: + if proc.poll() is None: + proc.terminate() + if not proc.stdin.closed: + proc.stdin.close() + proc.stdout.close() + proc.stderr.close() + proc.wait() + + +def main(argv=None) -> int: + ap = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + ap.add_argument("paths", nargs="*") + ap.add_argument("--git", metavar="REPO") + ap.add_argument("--rev", default="HEAD") + ap.add_argument("--json", metavar="FILE") + ap.add_argument("--fail-on", default="production") + args = ap.parse_args(argv) + if not args.paths and not args.git: + ap.print_usage(sys.stderr) + return 2 + findings: list[dict] = [] + files = 0 + undecodable = [] + try: + if args.git: + for p, sha, data in git_lean_blobs(args.git, args.rev): + files += 1 + try: + text = data.decode("utf-8") + except UnicodeDecodeError: + undecodable.append(p) + continue + findings += scan_text(text, p, sha) + for rel, full in iter_fs(args.paths): + files += 1 + try: + with open(full, encoding="utf-8") as fh: + text = fh.read() + except UnicodeDecodeError: + undecodable.append(rel) + continue + findings += scan_text(text, rel) + except (OSError, UnicodeDecodeError, subprocess.CalledProcessError) as exc: + print(f"layer_a_scan: error: {exc}", file=sys.stderr) + return 2 + fail_ctx = None if args.fail_on == "all" else set(args.fail_on.split(",")) + failing = [f for f in findings if f["severity"] in ("violation", "error") + and (fail_ctx is None or f["context"] in fail_ctx)] + summary = {"files": files, "findings": len(findings), + "violations": sum(f["severity"] == "violation" for f in findings), + "errors": sum(f["severity"] == "error" for f in findings), + "failing": len(failing), "undecodable": undecodable} + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"summary": summary, "findings": findings}, fh, indent=1, ensure_ascii=False) + for f in failing: + print(f"{f['path']}:{f['line']}:{f['col']}: {f['layer']} {f['kind']} ({f['context']})") + print(json.dumps(summary, ensure_ascii=False)) + # Undecodable files cannot be certified clean: fail closed. + if undecodable: + return 1 + return 1 if failing else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/FETCH_METADATA.json b/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/FETCH_METADATA.json new file mode 100644 index 000000000..351d311b1 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/FETCH_METADATA.json @@ -0,0 +1,19 @@ +{ + "repository": "d6g8k5htny-coder/Universal-Law-Workspace", + "pr_number": 29, + "head": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "tree_entry": { + "path": "tools/cbz/layer_a_scan.py", + "mode": "100644", + "type": "blob", + "sha": "0a113896aff4c999111193359c38906ff61e52e8", + "size": 17697, + "url": "https://api.github.com/repos/d6g8k5htny-coder/Universal-Law-Workspace/git/blobs/0a113896aff4c999111193359c38906ff61e52e8" + }, + "read_only_source": "GitHub connector immutable tree and native fetch_blob; contents fetch compared separately", + "published_claims": { + "behavioral_tests": 28, + "mutants": 39 + }, + "not_run_here": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/PR_METADATA.json b/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/PR_METADATA.json new file mode 100644 index 000000000..ff0919380 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/PR_METADATA.json @@ -0,0 +1,38 @@ +{ + "url": "https://github.com/d6g8k5htny-coder/Universal-Law-Workspace/pull/29", + "number": 29, + "state": "open", + "merged": false, + "mergeable": true, + "draft": false, + "body": "## What this adds\n\nThis is a CBZ-0 Phase 1 contribution under the owner's 29 October directive and main#684. Under B-003 there, the canonical STATUS/GOVERNANCE/DECISIONS/TOOLING files and all ref cleanup stay with the single canonical integrator. This PR touches none of them.\n\n- **`tools/cbz/layer_a_scan.py`**: a standard-library lexical pre-check for gate G1.\n - **What it flags.** Layer A hazard tokens in Lean code, outside comments, strings and char literals: `sorry`, `admit`, `sorryAx`, `admitGoal`, `mkSorry`, `axiom`, `native_decide`, `ofReduceBool`, `ofReduceNat`, `trustCompiler`, `skipKernelTC`, `addDeclWithoutChecking`, and the `decide` options `+native` and `native := true`.\n - **Escaped names.** An escaped component is the same constant, so `Lean.«ofReduceBool»` and `«sorryAx»` are flagged. An escaped keyword such as `«sorry»` is an identifier and is not flagged.\n - **Review-only tokens.** `Float`, `Float32`, `unsafe`, `implemented_by`, `extern` and a line-initial `stop` are reported for review but never fail the run.\n - **Where it runs.** On a directory, or on any git tree read from object storage with no checkout.\n - **Fails closed.** Undecodable files fail the run. So does any string, block comment, raw string, interpolated string or `«` name left unterminated at end of file.\n - **Limits.** It is necessary, not sufficient: it does not certify compilation, or placeholders built by metaprogramming without those tokens. Gates G2–G4 stay authoritative.\n- **`tools/cbz/a3_float_census.py`**: a Layer A3 census for Python, AST-based, with directory or git-tree mode.\n - **What it records.** Per file, every point where floating point can enter, and the exact or interval machinery the file uses (fractions, sympy, flint, gmpy2, `mpmath.iv`, `math.nextafter`/`ulp`, `ia` modules).\n - **Classes.** `NO_FLOAT_SIGNAL`, `FLOAT_SIGNAL`, `MIXED` and `UNPARSEABLE`; unparseable files fail closed.\n - **Limits.** It is an inventory for triage, not a verdict.\n- **Self-verification (G0/A8).**\n - `tests/test_cbz_layer_a_scan.py`: 28 behavioural tests with exact expected findings.\n - `tests/test_cbz_layer_a_scan_mutants.py`: runs that suite against 39 scanner mutants.\n - `tests/test_cbz_a3_float_census.py`: 18 behavioural tests, a harness control and 15 census mutants.\n - **Kill rule.** In both harnesses a mutant counts as killed only if the suite imported, ran and reported a failing test. A suite that cannot load the tool counts as a survivor. Negative control: a syntax-broken copy of either tool is not counted as killed.\n- **`cbz/evidence/01xjmj-20261029/`**, discovery only:\n - scanner summaries for all nine default tips;\n - scanner summaries for every `main` (318) and `Math-` (149) branch, and a re-run of the hardened scanner on the same tips;\n - ref classes for every non-default branch, a snapshot from before Root's 158-branch prune at main#684/6503504242;\n - the A3 census of the six repositories that have Python, with the triage-first rule and its result;\n - a README stating the findings, limits and policy differences.\n\n## Findings\n\n- **Layer A violation tokens.**\n - Every default tip has **0**, including the current main `81acc060` (4 Lean files) and Math- `74565f01` (162).\n - All 149 recorded Math- branches have **0**.\n - Three `main` recovery branches have some, all in session scratch or deliberate negative-control fixtures: `claude/determined-bardeen-mrqy4y` (8), `claude/nice-maxwell-7i7ok0` (6) and `claude/recovery-01cz-20261013` (67).\n - The hardened scanner found 0 lex errors on 467 branch tips and 8,107 file scans.\n- **A3 in Math-: no candidate.**\n - All 11 triage-first files are self-declared controls, diagnostics, tests or custody checks.\n - The certificate engines use local `ia.py` layers that round outward with `math.nextafter`.\n- **A3 in main: two history files are quarantine-label candidates.**\n - `history/carrier20_recovery_20260928/public_carriers/verify_wp_witness_v1.py` and `verify_thm023_v1_1_v1.py` are float-based self-described \"certificates\".\n - Neither is on a live verification path.\n - Older ledgers still cite the first as a certificate.\n - Proposed label: \"historical, float-based, not an A3-admissible certificate\". Not deletion.\n\n## Verification\n\nRun locally on CPython 3.13.16 at head `ef5b924`, which includes `main` `a4b01682` via a merge:\n- `python3 tools/check_workspace.py`: `problems=0`.\n- `python3 -B -m unittest discover -s tests -p 'test_*.py'`: 134 tests OK.\n- The three `test_cbz_*` modules under `python3 -O`: 50 OK.\n- `python3 tools/verify_pins.py`: OK, 8 pins.\n- `verify_pins.py --require-current` fails here exactly as on `main` `a4b01682`: the meta-framework and governance- pins lag their tips. This is Root's pin refresh, not this diff; details in [this comment](https://github.com/d6g8k5htny-coder/Universal-Law-Workspace/pull/29#issuecomment-6503697102).\n\n## Relation to other scanners\n\n014K (main only), 01DKKe (main#687), Claude017 (Math-#527) and the CBZ-MATH-198 and Math514 Codex units have overlapping tools. The canonical integrator decides which one `TOOLING.md` admits.\n- Against 014K's 48-input specification (main#684/6503596060), this scanner matches on everything except three stated policy choices (README).\n- Any of these test cases can be folded into the admitted tool, and these tools deleted, if that is simpler.\n- No other announced tool covers A3.\n\nScientific effect NONE. Credit 0.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nhttps://claude.ai/code/session_01XjmjBhHbkztFy4aSubbtiS", + "title": "cbz: cross-repository Layer A scanner, A3 float census and Phase 1 evidence", + "base": "main", + "base_sha": "a4b016820329afc1787d9c191572b05cd88236ac", + "head": "claude/ulw-evidence-verification-krvllo", + "head_sha": "ef5b924016c0f85ced7eb1dfb8f5eb9bd776f169", + "head_repo_id": 1389346946, + "head_repo_full_name": "d6g8k5htny-coder/Universal-Law-Workspace", + "merge_commit_sha": "9d59c495745b08c7bc4c833b6abcba0a0dc065e7", + "user": { + "login": "d6g8k5htny-coder", + "name": "d6g8k5htny-coder", + "email": null, + "avatar_url": "https://avatars.githubusercontent.com/u/249851642?v=4", + "id": 249851642 + }, + "requested_reviewers": null, + "requested_team_reviewers": null, + "diff": null, + "comments": null, + "created_at": "2026-10-29T17:08:05Z", + "updated_at": "2026-10-29T17:40:20Z", + "closed_at": null, + "merged_at": null, + "commits": 5, + "changed_files": 11, + "additions": 7501, + "deletions": 0, + "display_url": "https://github.com/d6g8k5htny-coder/Universal-Law-Workspace/pull/29", + "display_title": "cbz: cross-repository Layer A scanner, A3 float census and Phase 1 evidence" +} diff --git a/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/layer_a_scan.py b/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/layer_a_scan.py new file mode 100644 index 000000000..0a113896a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/public-pr29-ef5b924/layer_a_scan.py @@ -0,0 +1,476 @@ +#!/usr/bin/env python3 +"""Layer A textual scanner for Lean 4 sources (CBZ-0 gate G1). + +What it certifies, exactly: + For every scanned ``.lean`` file it reports each *code* token (outside + comments, string literals and char literals) that names a Layer A hazard: + + violation tokens (gate-failing in production context) + A1 placeholders : sorry, admit, sorryAx, admitGoal, mkSorry + A2 trust holes : axiom (declaration keyword), native_decide, + ofReduceBool, ofReduceNat, trustCompiler, + skipKernelTC (kernel-check bypass option), + addDeclWithoutChecking, and the ``decide`` options + ``+native`` / ``native := true`` + review tokens (reported, never gate-failing on their own) + A3 float : Float, Float32 + A2 compiled code: unsafe, implemented_by, extern + A1 tactic stop : ``stop`` as the first token on its line + + ``sorry``/``admit``/``axiom``/``native_decide``/``Float``/``Float32``/ + ``unsafe``/``stop`` match only as a whole undotted identifier; the other + violation tokens also match as the last component of a dotted name + (``Lean.ofReduceBool``, ``debug.skipKernelTC``), including an escaped + component (``Lean.«ofReduceBool»`` and ``«sorryAx»`` name the same + constants). An escaped keyword such as ``«sorry»`` is an ordinary + identifier, not the keyword, and is not flagged. + +Fail-closed: a string, block comment, raw string, interpolated string or +``«`` name left unterminated at end of file is reported as an ``error`` +finding, which fails the run like a violation, because the rest of the +file cannot be lexed reliably. + +What it does NOT certify: + * That a file compiles, or that no placeholder arises through + metaprogramming that never spells a listed token. Gates G2-G4 + (``#print axioms`` / kernel re-check) close that gap; this scanner is a + necessary, not sufficient, condition. + * Anything about non-Lean files (Python bounds are a separate gate). + +Lexing follows Lean 4: ``--`` line comments; nested ``/- -/`` block comments +(including ``/--`` and ``/-!``); ``"..."`` strings with backslash escapes; +interpolated strings (``s!"..{code}.."``, ``m!``, ``f!``) whose ``{}`` +regions are lexed as code; raw strings ``r"..."`` / ``r#"..."#``; char +literals; and ``«...»`` escaped identifiers. + +Standard library only. No floating point is used in any decision. + +Usage: + layer_a_scan.py PATH... scan files/directories + layer_a_scan.py --git REPO --rev REV scan every .lean blob in a git tree +Options: + --json FILE write all findings as JSON + --fail-on CTX comma list of contexts whose violations fail the run + (default: production). Use "all" for every context. +Exit status: 0 = no failing violation, 1 = failing violation, 2 = usage/IO. +""" +from __future__ import annotations + +import argparse +import json +import os +import re +import subprocess +import sys +import unicodedata + +VIOLATION_EXACT = { + "sorry": "A1", + "admit": "A1", + "axiom": "A2", + "native_decide": "A2", +} +VIOLATION_COMPONENT = { + "sorryAx": "A1", + "admitGoal": "A1", + "mkSorry": "A1", + "ofReduceBool": "A2", + "ofReduceNat": "A2", + "trustCompiler": "A2", + "skipKernelTC": "A2", + "addDeclWithoutChecking": "A2", +} +REVIEW_EXACT = { + "Float": "A3", + "Float32": "A3", + "unsafe": "A2", +} +REVIEW_COMPONENT = { + "implemented_by": "A2", + "extern": "A2", +} +LINE_START_REVIEW = {"stop": "A1"} + +INTERP_PREFIXES = {"s!", "m!", "f!"} +# ``decide +native`` and ``native := true`` select compiler evaluation, i.e. +# ofReduceBool. ``native`` after a ``+`` is flagged even with a space between +# (safe direction: ``x + native`` is a false positive, never a miss). +_NATIVE_TRUE = re.compile(r"\s*:=\s*true(?![A-Za-z0-9_'!?])") +_EXCLUDED_LETTERS = {"λ", "Π", "Σ"} +_CHAR_LIT = re.compile(r"'(?:\\(?:u\{[0-9a-fA-F]+\}|x[0-9a-fA-F]{2}|.)|[^\\'\n])'") + + +def _is_letter(ch: str) -> bool: + if ch in _EXCLUDED_LETTERS: + return False + if ch.isascii(): + return ch.isalpha() + cat = unicodedata.category(ch) + if cat.startswith("L"): + return True + o = ord(ch) + # Letter-like symbols and Greek/Coptic, as Lean's isLetterLike. + return (0x3B1 <= o <= 0x3C9 and o != 0x3BB) or (0x391 <= o <= 0x3A9 and o not in (0x3A0, 0x3A3)) \ + or 0x3CA <= o <= 0x3FB or 0x1F00 <= o <= 0x1FFE or 0x2100 <= o <= 0x214F \ + or 0x1D49C <= o <= 0x1D59F + + +def _is_subscript(ch: str) -> bool: + o = ord(ch) + return 0x2080 <= o <= 0x2089 or 0x2090 <= o <= 0x209C or 0x1D62 <= o <= 0x1D6A + + +def _id_start(ch: str) -> bool: + return ch == "_" or _is_letter(ch) + + +def _id_rest(ch: str) -> bool: + return ch == "_" or ch == "'" or ch == "!" or ch == "?" or ch.isdigit() \ + or _is_letter(ch) or _is_subscript(ch) + + +def lex_tokens(text: str, errors: list | None = None): + """Yield (name, line, col, line_start, plus_before, follow) per code identifier. + + ``name`` is the full dotted identifier text; an escaped ``«...»`` + component becomes ``\x00`` plus its text (inner dots as ``\x01``), so it + matches constant names but never a keyword. ``plus_before`` says the + identifier follows a ``+`` on its line; ``follow`` is the text after it. + Unterminated constructs are appended to ``errors`` as (line, col, kind). + + Modes are kept on an explicit stack: a ``code`` frame (with a brace + depth when it is an interpolation region) or an ``istr`` frame (the body + of an interpolated string, where ``{`` opens a nested code region). + """ + i = 0 + n = len(text) + line = 1 + col = 1 + line_has_token = False + stack: list[list] = [["code", None]] + if errors is None: + errors = [] + + def advance(k: int): + nonlocal i, line, col, line_has_token + for _ in range(k): + if i >= n: + return + if text[i] == "\n": + line += 1 + col = 1 + line_has_token = False + else: + col += 1 + i += 1 + + def read_ident_tail(parts: list[str]): + # dotted continuation: .ident or .«escaped» + while i < n and text[i] == "." and i + 1 < n and (_id_start(text[i + 1]) or text[i + 1] == "«"): + advance(1) + if text[i] == "«": + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + return + inner = text[i + 1:j] + advance(j + 1 - i) + parts.append("\x00" + inner.replace(".", "\x01")) + else: + s2 = i + while i < n and _id_rest(text[i]): + advance(1) + parts.append(text[s2:i]) + + while i < n: + frame = stack[-1] + c = text[i] + if frame[0] == "istr": + if c == "\\": + advance(2) + elif c == '"': + advance(1) + stack.pop() + elif c == "{": + advance(1) + stack.append(["code", 0]) + else: + advance(1) + continue + # ---- code mode + if c == "-" and text.startswith("--", i): + while i < n and text[i] != "\n": + advance(1) + continue + if c == "/" and text.startswith("/-", i): + start = (line, col) + depth = 0 + while i < n: + if text.startswith("/-", i): + depth += 1 + advance(2) + elif text.startswith("-/", i): + depth -= 1 + advance(2) + if depth == 0: + break + else: + advance(1) + if depth: + errors.append(start + ("unterminated_comment",)) + continue + if frame[1] is not None and c == "{": + frame[1] += 1 + advance(1) + continue + if frame[1] is not None and c == "}": + advance(1) + if frame[1] == 0: + stack.pop() # back to the interpolated string body + else: + frame[1] -= 1 + continue + if c == '"': + start = (line, col) + advance(1) + closed = False + while i < n: + cc = text[i] + if cc == "\\": + advance(2) + continue + advance(1) + if cc == '"': + closed = True + break + if not closed: + errors.append(start + ("unterminated_string",)) + line_has_token = True + continue + if c == "'": + m = _CHAR_LIT.match(text, i) + advance(m.end() - i if m else 1) + line_has_token = True + continue + if c == "«": + start_line, start_col, start_first = line, col, not line_has_token + j = text.find("»", i + 1) + if j < 0: + errors.append((line, col, "unterminated_escaped_name")) + advance(n - i) + break + inner = text[i + 1:j] + advance(j + 1 - i) + parts = ["\x00" + inner.replace(".", "\x01")] + read_ident_tail(parts) + line_has_token = True + yield ".".join(parts), start_line, start_col, start_first, False, text[i:i + 40] + continue + if _id_start(c): + start_line, start_col, start_first = line, col, not line_has_token + s = i + while i < n and _id_rest(text[i]): + advance(1) + word = text[s:i] + if word == "r" and i < n and text[i] in '"#': + k = i + while k < n and text[k] == "#": + k += 1 + if k < n and text[k] == '"': + close = '"' + "#" * (k - i) + end = text.find(close, k + 1) + if end < 0: + errors.append((start_line, start_col, "unterminated_raw_string")) + end = n if end < 0 else end + len(close) + advance(end - i) + line_has_token = True + continue + if word in INTERP_PREFIXES and i < n and text[i] == '"': + advance(1) + stack.append(["istr", start_line, start_col]) + line_has_token = True + continue + parts = [word] + read_ident_tail(parts) + line_has_token = True + k = s - 1 + while k >= 0 and text[k] in " \t": + k -= 1 + yield ".".join(parts), start_line, start_col, start_first, k >= 0 and text[k] == "+", text[i:i + 40] + continue + if c.isdigit(): + while i < n and (text[i].isalnum() or text[i] in "._"): + advance(1) + line_has_token = True + continue + if not c.isspace(): + line_has_token = True + advance(1) + for frame in stack: + if frame[0] == "istr": + errors.append((frame[1], frame[2], "unterminated_interpolated_string")) + break + + +def classify_token(name: str, line_start: bool, plus_before: bool = False, follow: str = ""): + """Return (kind, layer, severity) or None.""" + last = name.split(".")[-1] + if last.startswith("\x00"): + # escaped component: the same constant name, never a keyword + last = last[1:] + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + if name == "native" and (plus_before or _NATIVE_TRUE.match(follow)): + return "native", "A2", "violation" + if "." not in name: + if name in VIOLATION_EXACT: + return name, VIOLATION_EXACT[name], "violation" + if name in REVIEW_EXACT: + return name, REVIEW_EXACT[name], "review" + if line_start and name in LINE_START_REVIEW: + return name, LINE_START_REVIEW[name], "review" + if last in VIOLATION_COMPONENT: + return last, VIOLATION_COMPONENT[last], "violation" + if last in REVIEW_COMPONENT: + return last, REVIEW_COMPONENT[last], "review" + return None + + +_EVIDENCE_SEG = re.compile(r"(^|/)(raw|runs|archive|attempts)(/|$)|-evidence(/|$)") +_CONTROL_NAME = re.compile(r"(?i)(control|negative|mutation|mutant|counterproof|falsifier)") + + +def context_of(path: str) -> str: + p = path.replace("\\", "/") + if _EVIDENCE_SEG.search(p): + return "evidence_copy" + if _CONTROL_NAME.search(os.path.basename(p)): + return "control" + return "production" + + +def scan_text(text: str, path: str, blob: str | None = None) -> list[dict]: + out = [] + ctx = context_of(path) + errors: list = [] + found = [] + for name, ln, cl, first, plus, follow in lex_tokens(text, errors): + r = classify_token(name, first, plus, follow) + if r is not None: + found.append((ln, cl, name.replace("\x00", "«").replace("\x01", "."), r)) + for ln, cl, kind in errors: + found.append((ln, cl, "", (kind, "A", "error"))) + for ln, cl, token, (kind, layer, sev) in sorted(found, key=lambda x: (x[0], x[1])): + f = {"path": path, "line": ln, "col": cl, "token": token, "kind": kind, + "layer": layer, "severity": sev, "context": ctx} + if blob: + f["blob"] = blob + out.append(f) + return out + + +def iter_fs(paths): + for p in paths: + if os.path.isdir(p): + for root, dirs, files in os.walk(p): + dirs[:] = sorted(d for d in dirs if d != ".git") + for fn in sorted(files): + if fn.endswith(".lean"): + full = os.path.join(root, fn) + yield os.path.relpath(full, p), full + elif p.endswith(".lean"): + yield p, p + + +def git_lean_blobs(repo: str, rev: str): + env = {k: v for k, v in os.environ.items() if not k.startswith("GIT_")} + ls = subprocess.run(["git", "-C", repo, "ls-tree", "-r", "-z", rev], + check=True, capture_output=True, env=env).stdout + entries = [] + for rec in ls.split(b"\0"): + if not rec: + continue + meta, path = rec.split(b"\t", 1) + mode, typ, sha = meta.split() + p = path.decode("utf-8", "surrogateescape") + if typ == b"blob" and p.endswith(".lean"): + entries.append((p, sha.decode())) + if not entries: + return + proc = subprocess.Popen(["git", "-C", repo, "cat-file", "--batch"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, env=env) + try: + for p, sha in entries: + proc.stdin.write(sha.encode() + b"\n") + proc.stdin.flush() + header = proc.stdout.readline().split() + size = int(header[2]) + data = proc.stdout.read(size) + proc.stdout.read(1) + yield p, sha, data + finally: + proc.stdin.close() + proc.wait() + + +def main(argv=None) -> int: + ap = argparse.ArgumentParser(description=__doc__.split("\n")[0]) + ap.add_argument("paths", nargs="*") + ap.add_argument("--git", metavar="REPO") + ap.add_argument("--rev", default="HEAD") + ap.add_argument("--json", metavar="FILE") + ap.add_argument("--fail-on", default="production") + args = ap.parse_args(argv) + if not args.paths and not args.git: + ap.print_usage(sys.stderr) + return 2 + findings: list[dict] = [] + files = 0 + undecodable = [] + try: + if args.git: + for p, sha, data in git_lean_blobs(args.git, args.rev): + files += 1 + try: + text = data.decode("utf-8") + except UnicodeDecodeError: + undecodable.append(p) + continue + findings += scan_text(text, p, sha) + for rel, full in iter_fs(args.paths): + files += 1 + try: + with open(full, encoding="utf-8") as fh: + text = fh.read() + except UnicodeDecodeError: + undecodable.append(rel) + continue + findings += scan_text(text, rel) + except (OSError, subprocess.CalledProcessError) as exc: + print(f"layer_a_scan: error: {exc}", file=sys.stderr) + return 2 + fail_ctx = None if args.fail_on == "all" else set(args.fail_on.split(",")) + failing = [f for f in findings if f["severity"] in ("violation", "error") + and (fail_ctx is None or f["context"] in fail_ctx)] + summary = {"files": files, "findings": len(findings), + "violations": sum(f["severity"] == "violation" for f in findings), + "errors": sum(f["severity"] == "error" for f in findings), + "failing": len(failing), "undecodable": undecodable} + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"summary": summary, "findings": findings}, fh, indent=1, ensure_ascii=False) + for f in failing: + print(f"{f['path']}:{f['line']}:{f['col']}: {f['layer']} {f['kind']} ({f['context']})") + print(json.dumps(summary, ensure_ascii=False)) + # Undecodable files cannot be certified clean: fail closed. + if undecodable: + return 1 + return 1 if failing else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/red-tests.log b/cbz/contributions/math514/layer_a/evidence/red-tests.log new file mode 100644 index 000000000..baacd24e7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/red-tests.log @@ -0,0 +1,311 @@ +test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) ... FAIL +test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) ... FAIL +test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) ... FAIL +test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) ... FAIL +test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) ... FAIL +test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) ... FAIL +test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) ... FAIL +test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) ... FAIL +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... FAIL +test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) ... FAIL +test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) ... FAIL +test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) ... FAIL +test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) ... FAIL +test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) ... FAIL +test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) ... FAIL +test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) ... FAIL +test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) ... FAIL +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... FAIL +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL +test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) ... FAIL +test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) ... FAIL +test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) ... FAIL +test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) ... FAIL +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... FAIL +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... FAIL +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... FAIL +test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) ... FAIL +test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) ... FAIL +test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) ... FAIL +test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) ... FAIL +test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) ... FAIL +test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) ... FAIL +test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) ... FAIL +test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) ... FAIL + +====================================================================== +FAIL: test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected (test_auditor.ManifestRules.test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_binary_proof_requires_bound_g2_g4_evidence (test_auditor.ManifestRules.test_binary_proof_requires_bound_g2_g4_evidence) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_cli_json_and_nonzero_failures_and_duplicate_json_keys (test_auditor.ManifestRules.test_cli_json_and_nonzero_failures_and_duplicate_json_keys) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_closed_import_cannot_reach_quarantine_directly_or_transitively (test_auditor.ManifestRules.test_closed_import_cannot_reach_quarantine_directly_or_transitively) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_complete_manifest_counts_every_file_and_is_deterministic (test_auditor.ManifestRules.test_complete_manifest_counts_every_file_and_is_deterministic) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_duplicate_scope_and_unknown_schema_keys_are_rejected (test_auditor.ManifestRules.test_duplicate_scope_and_unknown_schema_keys_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_each_file_is_really_scanned_not_only_first (test_auditor.ManifestRules.test_each_file_is_really_scanned_not_only_first) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_empty_scope_cannot_manufacture_green (test_auditor.ManifestRules.test_empty_scope_cannot_manufacture_green) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_external_source_needs_immutable_pin_and_is_still_scanned (test_auditor.ManifestRules.test_external_source_needs_immutable_pin_and_is_still_scanned) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_foundation_names_cannot_authorize_new_owned_axioms (test_auditor.ManifestRules.test_foundation_names_cannot_authorize_new_owned_axioms) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_missing_unreadable_invalid_utf8_files_are_not_skipped (test_auditor.ManifestRules.test_missing_unreadable_invalid_utf8_files_are_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_negative_fixture_retains_exact_violation_and_never_counts_as_clean (test_auditor.ManifestRules.test_negative_fixture_retains_exact_violation_and_never_counts_as_clean) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_nonvacuous_claim_requires_content_bound_certificate (test_auditor.ManifestRules.test_nonvacuous_claim_requires_content_bound_certificate) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_pin_hash_and_foundation_allowlist_cannot_be_weakened (test_auditor.ManifestRules.test_pin_hash_and_foundation_allowlist_cannot_be_weakened) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_python_import_alias_cannot_hide_quarantine (test_auditor.ManifestRules.test_python_import_alias_cannot_hide_quarantine) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_quarantine_requires_exact_boundary_and_scans_retained_source (test_auditor.ManifestRules.test_quarantine_requires_exact_boundary_and_scans_retained_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_unclassified_unknown_skipped_and_extra_paths_fail_closed (test_auditor.ManifestRules.test_unclassified_unknown_skipped_and_extra_paths_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_unknown_module_alias_and_dynamic_import_fail_closed (test_auditor.ManifestRules.test_unknown_module_alias_and_dynamic_import_fail_closed) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected (test_auditor.ManifestRules.test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 128, in setUp + self.assertIsNotNone(auditor, 'auditor implementation is missing') +AssertionError: unexpectedly None : auditor implementation is missing + +====================================================================== +FAIL: test_comment_strings_nested_comments_raw_strings_and_char_are_not_code (test_auditor.SourceRules.test_comment_strings_nested_comments_raw_strings_and_char_are_not_code) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected (test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_lean_explicit_imports_are_extracted_across_lines (test_auditor.SourceRules.test_lean_explicit_imports_are_extracted_across_lines) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses (test_auditor.SourceRules.test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_lean_vacuity_candidates_have_declaration_location (test_auditor.SourceRules.test_lean_vacuity_candidates_have_declaration_location) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_lexical_incompleteness_and_interpolation_are_fatal_not_silent (test_auditor.SourceRules.test_lexical_incompleteness_and_interpolation_are_fatal_not_silent) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_macro_expansion_and_unsafe_trust_require_separate_certifier (test_auditor.SourceRules.test_macro_expansion_and_unsafe_trust_require_separate_certifier) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_unhandled_python_constructs_are_explicit_not_skipped (test_auditor.SourceRules.test_unhandled_python_constructs_are_explicit_not_skipped) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +====================================================================== +FAIL: test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape (test_auditor.SourceRules.test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/tools/layer_a/tests/test_auditor.py", line 28, in setUp + self.assertIsNotNone(source_checks, 'source checker implementation is missing') +AssertionError: unexpectedly None : source checker implementation is missing + +---------------------------------------------------------------------- +Ran 34 tests in 0.002s + +FAILED (failures=34) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/AFFECTED_METHODS.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/AFFECTED_METHODS.json new file mode 100644 index 000000000..d483a897b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/AFFECTED_METHODS.json @@ -0,0 +1,45 @@ +{ + "new_class": "test_auditor.ReviewBoundaryRules", + "new_method_count": 9, + "existing_affected_methods": [ + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "normal_final_subset": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "optimized_final_selection": [ + "test_auditor.ReviewBoundaryRules", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "normal_reuse": "six unchanged successful new methods from green-normal.json; candidate/prefix methods rerun after final candidate variable rename", + "notebook_delta_selector": "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/APPLICABILITY.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/APPLICABILITY.json new file mode 100644 index 000000000..180919162 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/APPLICABILITY.json @@ -0,0 +1,66 @@ +{ + "baseline_head": "19b8e20a698775bef1813c5ceac91e2be9119bde", + "baseline_methods": 94, + "final_standalone_methods": 103, + "fresh_distinct_methods_per_mode": 19, + "reused_predecessor_methods": 84, + "normal_success_invocations": 21, + "normal_final_hash_success_invocations": 1, + "normal_reuse_from_initial_green": 6, + "optimized_success_invocations": 19, + "fresh_mutation_definitions": 8, + "adapted_existing_mutation_definitions": 3, + "unchanged_reused_definitions": 57, + "final_mutation_definitions": 68, + "mutation_executions_per_mode": 11, + "runner_definitions_unchanged": true, + "source_checks_definitions_changed": [ + "check_python" + ], + "test_files": [ + { + "path": "tests/test_auditor.py", + "before": 79, + "after": 88, + "old_methods_unchanged": true + }, + { + "path": "tests/test_mutation_runner.py", + "before": 15, + "after": 15, + "old_methods_unchanged": true + } + ], + "new_mutation_names": [ + "discard-known-notebook-source-suffixes", + "restore-augmented-division-gap", + "restore-augmented-power-gap", + "restore-python-candidate-nonmath-gap", + "restore-python-prefix-nonmath-gap", + "restore-null-status-evidence-skip", + "restore-es-module-extension-gap", + "restore-es-module-text-wrapper-gap" + ], + "adapted_legacy_mutation_names": [ + "allow-python-division", + "allow-negative-dynamic-powers", + "skip-status-evidence" + ], + "no_full_suite_replay": true, + "no_lean_or_kernel_replay": true, + "notebook_delta": { + "baseline_overlay_manifest_sha256": "26666d1697a9aa374801091a15a41f97cdd12b3b961f2df267cb830dd32e80b0", + "prior_overlay_file_count": 49, + "prior_overlay_bytes_verified": true, + "new_methods_per_mode": 1, + "new_guard_mutations_per_mode": 1, + "previous_eighteen_method_results_reused": true, + "previous_ten_affected_mutation_results_reused": true, + "source_checks_byte_identical": true, + "old87_auditor_test_methods_ast_identical": true, + "final_auditor_test_methods": 88, + "new_name": "test_executable_notebooks_cannot_be_reclassified_as_nonsource", + "new_mutation": "discard-known-notebook-source-suffixes", + "normal_optimized_current_hash_invocations_each": 1 + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/BASELINE_SOURCES.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/BASELINE_SOURCES.json new file mode 100644 index 000000000..51f72847e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/BASELINE_SOURCES.json @@ -0,0 +1,11 @@ +{ + "generation": "eed plus frozen declaration-numeric-fix overlay (94 methods/60 mutation definitions)", + "sources": { + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "source_checks.py": "1cba64bb503b8e9245b0bc504678ed71823cde6e629a6a53dbe8f19c6eb33aec", + "mutation_test.py": "e0cc3d77716e143dd374f2a23fc28923b8590e5dffed83e20733cd329553ddeb", + "auditor.py": "c0a32e827279dfb9164d540c1f99c2269e3c49446a3fbeae23afefb53af54710", + "tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3", + "tests/test_auditor.py": "d28d370108b5466f510e540c2e673de2f96e1286aa9d44212728b0c2a8bd7b3c" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/DECISION_PAYLOAD.md b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/DECISION_PAYLOAD.md new file mode 100644 index 000000000..3102a94da --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/DECISION_PAYLOAD.md @@ -0,0 +1,2 @@ +[2026-10-29] [phase2] [layer A/C] Repair four original Main697 auditor review boundaries from numeric head19b; preserve all old tests/failures and numeric proof checks. Seven new active guard mutations and three replaced legacy anchors pass normal/O; reuse84method/57mutant unchanged evidence. ImportError finding already lifecycle-ERROR by applicable source-bound control. Reversible. Evidence: REVIEW_BOUNDARY_FIX.md and evidence/review-boundary-fix. +[2026-10-29] [phase2] [layer A/C] Add fail-closed recognition of the actual Main executable notebook (.ipynb and consistent text wrapper), preserving prior49overlay by verified archive. One new method and one new guard mutant pass normal/O; reuse all prior18/10 results and unchanged numeric functions. Reversible. Evidence: NOTEBOOK_DISCOVERY, notebook RED/GREEN/mutant receipts and NOTEBOOK_SOURCE_REVIEW. diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/FINAL_SOURCES.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/FINAL_SOURCES.json new file mode 100644 index 000000000..dbf9db204 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/FINAL_SOURCES.json @@ -0,0 +1,8 @@ +{ + "canonical_lean.py": "9ed661b1490f73c4dc3664a33ed688e937c1c7d8fecfb4d48c5349fa41823818", + "source_checks.py": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutation_test.py": "fe3a1caa252eca0a678295c717eae8c9b7df8d36a4f1b0c8df740d8c33801af8", + "auditor.py": "309935e125195ae8093ffeb691f9d4c16f6c69e3dbb74b453ed6d50e05be1619", + "tests/test_mutation_runner.py": "9190916dea425ab71aad73acbb70b4100890592f2a462375cb3a922ff62a1ff3", + "tests/test_auditor.py": "73e0b36fe95774af04b433f2de748911625a4ed10cf9f5f46c86249f19707ddc" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/IMPORTERROR_REUSED.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/IMPORTERROR_REUSED.json new file mode 100644 index 000000000..343fd069e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/IMPORTERROR_REUSED.json @@ -0,0 +1,15 @@ +{ + "issue_comment": 4416393236, + "source_evidence_path": "evidence/lifecycle-grader-repair/final-actual-source-controls/receipts.json", + "sha256": "c1c5eeaab374105dd0cc5cf9f8342396712364a73ad3fd303db0bccf31e61bee", + "named_result": "importerror-setup", + "outcome": "ERROR", + "selected_ids": [ + "test_auditor.SourceRules.test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected" + ], + "assertion_failures": 1, + "lifecycle_failures": 1, + "body_entered_ids": [], + "body_finished_ids": [], + "applicability": "test module import fallback and SourceRules.setUp unchanged; lifecycle classifier/body entry requirements unchanged in this source delta. The actual prior ImportError control is ERROR, not KILLED. No repeat warranted." +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/MUTATION_COMMAND.py.txt b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/MUTATION_COMMAND.py.txt new file mode 100644 index 000000000..c0497dd6c --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/MUTATION_COMMAND.py.txt @@ -0,0 +1,30 @@ +import json,os,sys +from pathlib import Path +import mutation_test as m +mode=sys.argv[1] +if mode=='optimized':os.environ['PYTHONOPTIMIZE']='1' +else:os.environ.pop('PYTHONOPTIMIZE',None) +selected={ +'restore-augmented-division-gap':'test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results', +'restore-augmented-power-gap':'test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal', +'restore-python-candidate-nonmath-gap':'test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values', +'restore-python-prefix-nonmath-gap':'test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope', +'restore-null-status-evidence-skip':'test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks', +'restore-es-module-extension-gap':'test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation', +'restore-es-module-text-wrapper-gap':'test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source', +'allow-python-division':'test_auditor.SourceRules.test_every_inexact_python_route_is_rejected', +'allow-negative-dynamic-powers':'test_auditor.SourceRules.test_every_inexact_python_route_is_rejected', +'skip-status-evidence':'test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration', +} +rows=[] +for name,filename,before,after in m.MUTATIONS: + if name not in selected:continue + def transform(source,before=before,after=after): + if source.count(before)!=1:raise ValueError('mutation anchor missing/nonunique') + return source.replace(before,after,1) + r=m.run_one(name,filename,transform,Path('../evidence')/('mutations-'+mode),tests=[selected[name]]) + rows.append(r) + print(name+': '+r['outcome'],flush=True) +result={'mode':mode,'optimized_child_environment':mode=='optimized','new_definitions':7,'adapted_existing_definitions':3,'results':rows,'passed':len(rows)==10 and all(r['outcome']=='KILLED' and r['errors']==0 for r in rows)} +Path('../evidence/mutations-'+mode+'.json').write_text(json.dumps(result,indent=2)+'\n') +raise SystemExit(0 if result['passed'] else 1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/MUTATION_DELTA.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/MUTATION_DELTA.json new file mode 100644 index 000000000..624aa7e08 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/MUTATION_DELTA.json @@ -0,0 +1,57 @@ +{ + "new": [ + [ + "discard-known-notebook-source-suffixes", + "auditor.py", + "NOTEBOOK_SUFFIXES = ('.ipynb', '.ipynb.txt')", + "NOTEBOOK_SUFFIXES = ()" + ], + [ + "restore-augmented-division-gap", + "source_checks.py", + "if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div):", + "if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):" + ], + [ + "restore-augmented-power-gap", + "source_checks.py", + "if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow):", + "if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):" + ], + [ + "restore-python-candidate-nonmath-gap", + "auditor.py", + "if kind=='math_python' and records[candidate_target]['entry']['kind']=='engineering_python':", + "if False:" + ], + [ + "restore-python-prefix-nonmath-gap", + "auditor.py", + "if kind=='math_python' and records[prefix]['entry']['kind']=='engineering_python':", + "if False:" + ], + [ + "restore-null-status-evidence-skip", + "auditor.py", + "if 'status_evidence' in entry:", + "if entry.get('status_evidence') is not None:" + ], + [ + "restore-es-module-extension-gap", + "auditor.py", + "'.js','.mjs','.ts'", + "'.js','.ts'" + ], + [ + "restore-es-module-text-wrapper-gap", + "auditor.py", + "'.sh.txt','.js.txt','.mjs.txt'", + "'.sh.txt','.js.txt'" + ] + ], + "adapted_legacy_names": [ + "allow-python-division", + "allow-negative-dynamic-powers", + "skip-status-evidence" + ] +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/NOTEBOOK_DISCOVERY.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/NOTEBOOK_DISCOVERY.json new file mode 100644 index 000000000..eb817a4eb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/NOTEBOOK_DISCOVERY.json @@ -0,0 +1,14 @@ +{ + "prior_overlay_manifest_sha256": "26666d1697a9aa374801091a15a41f97cdd12b3b961f2df267cb830dd32e80b0", + "prior_overlay_files": 49, + "all_prior_overlay_bytes_verified": true, + "actual_tree_notebook": "/workspace/main/docs/notebooks/SIDE24_PUBLIC_COEFFICIENTS.ipynb", + "notebook_sha256": "e348db8e9d667caff2a8da1d85ffd5ad599db34b34e542d9662d0bc1edc84024", + "notebook_bytes": 61961, + "cell_types": [ + "code", + "markdown" + ], + "code_cell_count": 3, + "notebook_executed": false +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/NOTEBOOK_MUTATION_COMMAND.py.txt b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/NOTEBOOK_MUTATION_COMMAND.py.txt new file mode 100644 index 000000000..c3a32234a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/NOTEBOOK_MUTATION_COMMAND.py.txt @@ -0,0 +1,15 @@ +import os,sys,json +from pathlib import Path +import mutation_test as m +mode=sys.argv[1] +if mode=='optimized':os.environ['PYTHONOPTIMIZE']='1' +else:os.environ.pop('PYTHONOPTIMIZE',None) +row=next(t for t in m.MUTATIONS if t[0]=='discard-known-notebook-source-suffixes') +name,file,before,after=row +def change(source): + if source.count(before)!=1:raise ValueError('nonunique notebook mutation anchor') + return source.replace(before,after,1) +r=m.run_one(name,file,change,Path('../evidence')/('notebook-mutation-'+mode),tests=['test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource']) +Path('../evidence/notebook-mutation-'+mode+'.json').write_text(json.dumps(r,indent=2)+'\n') +print(json.dumps({'mode':mode,'outcome':r['outcome'],'errors':r['errors'],'assertion_failures':r['assertion_failures']})) +raise SystemExit(0 if r['outcome']=='KILLED' and r['errors']==0 else 1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/ORIGINAL_REVIEW.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/ORIGINAL_REVIEW.json new file mode 100644 index 000000000..e3c7e002b --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/ORIGINAL_REVIEW.json @@ -0,0 +1,37 @@ +[ + { + "id": 4416393202, + "url": "https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393202", + "path": "cbz/contributions/math514/layer_a/source_checks.py", + "line": 302, + "body": "**![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat) Apply exact-arithmetic checks to augmented assignments**\n\nFor mathematical Python, `x = 1; x /= 2` and `x = 2; x **= -1` both receive `STATIC_PASS` with no findings, although executing either produces the float `0.5`. `AugAssign` is allowed, but these operator checks only inspect `ast.BinOp`, so augmented division and exponentiation bypass the advertised exact-arithmetic restrictions. Apply the division and exponent checks to augmented assignments as well, and cover both forms with adverse tests.\n\nUseful? React with 👍 / 👎.\n\n" + }, + { + "id": 4416393211, + "url": "https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393211", + "path": "cbz/contributions/math514/layer_a/auditor.py", + "line": 262, + "body": "**![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat) Enforce mathematical dependency checks on submodule candidates**\n\nWhen a mapped local `fractions` package has an empty mathematical `__init__.py` and an engineering-only `fractions.Fraction` submodule containing `numerator = 0.5`, mathematical code using `from fractions import Fraction; x = Fraction.numerator` receives `STATIC_PASS`. I reproduced this through `audit()` with a hash-bound engineering review and confirmed that execution yields a float. Candidate edges are added here without the `MATH_DEPENDENCY_GAP` check applied to ordinary imports, allowing engineering-only values into the closed mathematical program. Apply that check to candidate and package-prefix dependencies too.\n\nUseful? React with 👍 / 👎.\n\n" + }, + { + "id": 4416393221, + "url": "https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393221", + "path": "cbz/contributions/math514/layer_a/auditor.py", + "line": 287, + "body": "**![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat) Reject an explicitly null status-evidence flag**\n\nWhen a classification contains `\"status_evidence\": null`, this guard treats the field as absent and skips all status validation, including the check immediately below that requires the value to be `true`. I reproduced `STATIC_PASS` for a classified status file containing only `{\"observed_status\":\"PASS\"}`, with no command, inputs or bound execution receipt. Test for field presence rather than a non-null value so an explicitly supplied invalid flag cannot silently disable the requested evidence checks.\n\nUseful? React with 👍 / 👎.\n\n" + }, + { + "id": 4416393233, + "url": "https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393233", + "path": "cbz/contributions/math514/layer_a/auditor.py", + "line": 20, + "body": "**![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat) Recognize ES-module files as unsupported source**\n\nThe source-extension set omits `.mjs`, although this repository contains numerous executable JavaScript modules, including `tests/test_dependency_viewer.mjs`. Consequently, an `.mjs` file can be classified as `data` or `documentation` and receive `STATIC_PASS` without either `SOURCE_CLASSIFICATION` or `LANGUAGE_GAP`; I reproduced this with `code.mjs` containing `export const bound = 0.1;`. This bypasses the documented prohibition on relabeling source as data. Recognize `.mjs` as source and refuse it as unsupported rather than silently accepting it as nonsource.\n\nUseful? React with 👍 / 👎.\n\n" + }, + { + "id": 4416393236, + "url": "https://github.com/d6g8k5htny-coder/main/pull/697#discussion_r4416393236", + "path": "cbz/contributions/math514/layer_a/tests/test_auditor.py", + "line": 19, + "body": "**![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat) Preserve checker import failures as mutation-runner errors**\n\nIf a checker-source mutant raises `ImportError`, this handler suppresses the import failure and sets both checker modules to `None`; the subsequent `setUp` assertions then make the mutation runner count the broken import as a behavioral kill. I reproduced this by prepending `raise ImportError(\"missing checker dependency\")` through `run_one()`, which reported `KILLED`, 67 assertion failures and zero errors without exercising any checker behavior. This contradicts G0's explicit exclusion of import/runtime errors from the kill threshold. Let the import failure propagate as a test-loading error, or otherwise classify it separately before counting assertion kills.\n\nUseful? React with 👍 / 👎.\n\n" + } +] diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/TOOLING_GOVERNANCE_PAYLOAD.md b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/TOOLING_GOVERNANCE_PAYLOAD.md new file mode 100644 index 000000000..7d1825b3d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/TOOLING_GOVERNANCE_PAYLOAD.md @@ -0,0 +1,9 @@ +# Canonical registration payload — review boundary repair + +Existing tool: `cbz/contributions/math514/layer_a/auditor.py` with `source_checks.py`, `mutation_test.py` and tests. Purpose: bounded manifest/source Layer A pre-check and source-mutant self-test; STATIC_PASS is not proof closure. This update closes augmented division/power, candidate/prefix engineering dependencies, explicitly null status flags, and ES-module source relabeling, plus unsupported executable-notebook source relabeling found in the actual Main tree. It creates no new production tool. + +Usage: standard documented G0/G1 commands remain unchanged. Focused commands and source bindings are in REVIEW_BOUNDARY_FIX.md; the exact nine new tests are `test_auditor.ReviewBoundaryRules`. Verification: nineteen distinct affected methods are covered per mode (nine new plus ten affected prior); eleven affected guard mutations are covered per mode (eight added plus three active legacy anchors adapted in place); 84 predecessor methods and 57 unchanged mutation definitions reuse applicable evidence. Standalone counts before the separate identity repair: 103 methods and 68 active definitions. The notebook amendment executes only its one new method/mutant per mode and reuses earlier affected evidence. No fresh whole-suite/full-mutant, mathematical, Lean, kernel or actual-repository G1 claim. + +Self-verification: original RED retained; full structured receipts, valid unique anchors, source AST applicability and independent CLEAR review are in `evidence/review-boundary-fix`. All old tests are retained. Three obsolete active anchors are replaced, with their original source/definitions recoverable at19b and earlier commits; new anchors are actually rechecked. Maintenance owner: none — self-contained. CBZ criteria served: 4,7,9. + +Governance rule unchanged: complete applicable verification is reused; changed guards receive affected-scope adverse, positive and mutation checks. Process review remains separate from mathematical evidence. Root owns canonical admission and integration. diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal-final.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal-final.json new file mode 100644 index 000000000..966d64b84 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal-final.json @@ -0,0 +1,164 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 15, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 12, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... ok\ntest_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... ok\ntest_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok\ntest_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok\ntest_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok\ntest_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok\ntest_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok\ntest_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok\ntest_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok\ntest_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok\n\n----------------------------------------------------------------------\nRan 12 tests in 0.008s\n\nOK\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal-final.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal-final.log new file mode 100644 index 000000000..f0d982fda --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal-final.log @@ -0,0 +1,17 @@ +test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... ok +test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok + +---------------------------------------------------------------------- +Ran 12 tests in 0.008s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal.json new file mode 100644 index 000000000..8ef2b24ef --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal.json @@ -0,0 +1,129 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 12, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 8, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... ok\ntest_augmented_exact_controls_and_engineering_profile_remain_valid (test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid) ... ok\ntest_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... ok\ntest_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... ok\ntest_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... ok\ntest_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... ok\ntest_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... ok\ntest_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... ok\n\n----------------------------------------------------------------------\nRan 8 tests in 0.005s\n\nOK\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal.log new file mode 100644 index 000000000..346df7df8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-normal.log @@ -0,0 +1,13 @@ +test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... ok +test_augmented_exact_controls_and_engineering_profile_remain_valid (test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid) ... ok +test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... ok +test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... ok +test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... ok +test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... ok +test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... ok +test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... ok + +---------------------------------------------------------------------- +Ran 8 tests in 0.005s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-optimized.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-optimized.json new file mode 100644 index 000000000..c185b621a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-optimized.json @@ -0,0 +1,254 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical", + "test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent", + "test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review", + "test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine", + "test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary", + "test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow", + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 27, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 18, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... ok\ntest_augmented_exact_controls_and_engineering_profile_remain_valid (test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid) ... ok\ntest_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... ok\ntest_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... ok\ntest_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... ok\ntest_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... ok\ntest_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... ok\ntest_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... ok\ntest_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok\ntest_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok\ntest_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok\ntest_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok\ntest_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok\ntest_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok\ntest_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok\ntest_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok\ntest_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok\ntest_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok\n\n----------------------------------------------------------------------\nRan 18 tests in 0.013s\n\nOK\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-optimized.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-optimized.log new file mode 100644 index 000000000..cf9c377bb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/green-optimized.log @@ -0,0 +1,23 @@ +test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... ok +test_augmented_exact_controls_and_engineering_profile_remain_valid (test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid) ... ok +test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... ok +test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... ok +test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... ok +test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... ok +test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... ok +test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... ok +test_exact_integer_fraction_program_and_alias_are_accepted (test_auditor.SourceRules.test_exact_integer_fraction_program_and_alias_are_accepted) ... ok +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... ok +test_engineering_float_is_scanned_but_not_mislabeled_mathematical (test_auditor.SourceRules.test_engineering_float_is_scanned_but_not_mislabeled_mathematical) ... ok +test_source_relabeling_to_docs_or_binary_is_not_silent (test_auditor.ManifestRules.test_source_relabeling_to_docs_or_binary_is_not_silent) ... ok +test_engineering_requires_explicit_bound_nonmathematical_review (test_auditor.ManifestRules.test_engineering_requires_explicit_bound_nonmathematical_review) ... ok +test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine (test_auditor.ManifestRules.test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine) ... ok +test_engineering_from_import_alias_checks_a_mapped_submodule_boundary (test_auditor.ManifestRules.test_engineering_from_import_alias_checks_a_mapped_submodule_boundary) ... ok +test_exact_math_cannot_import_a_nonmathematical_fractions_shadow (test_auditor.ManifestRules.test_exact_math_cannot_import_a_nonmathematical_fractions_shadow) ... ok +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... ok +test_status_observation_binding_distinguishes_json_booleans_and_integers (test_auditor.ManifestRules.test_status_observation_binding_distinguishes_json_booleans_and_integers) ... ok + +---------------------------------------------------------------------- +Ran 18 tests in 0.013s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal.json new file mode 100644 index 000000000..cf670981a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal.json @@ -0,0 +1,904 @@ +{ + "mode": "normal", + "optimized_child_environment": false, + "new_definitions": 7, + "adapted_existing_definitions": 3, + "results": [ + { + "name": "restore-augmented-division-gap", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 2, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... \n test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\\nx /= 2') ... FAIL\n test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\\nx /= 1') ... FAIL\n\n======================================================================\nFAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\\nx /= 2')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-4fo1zz1y/tests/test_auditor.py\", line 791, in test_augmented_division_cannot_certify_float_results\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\\nx /= 1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-4fo1zz1y/tests/test_auditor.py\", line 791, in test_augmented_division_cannot_certify_float_results\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=2)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "invalid_population": [] + }, + "original_sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutated_sha256": "4f1ae444469f9a95c179ea23ca87b22d9f026095ece3c216602ec3006b1d0a4d", + "log": "../evidence/mutations-normal/restore-augmented-division-gap.log", + "log_sha256": "ec364ee318316d73108103d95682fc84160407a7b503564200b0a7fe3c455455" + }, + { + "name": "restore-augmented-power-gap", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 3, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 4, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 3, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... \n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') ... FAIL\n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') ... FAIL\n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') ... FAIL\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-xogj1xen/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-xogj1xen/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-xogj1xen/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=3)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "invalid_population": [] + }, + "original_sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutated_sha256": "672aa01dd78d60caf9d5dcb977225a30ab6ef3e8ad77932a60f21ec291188748", + "log": "../evidence/mutations-normal/restore-augmented-power-gap.log", + "log_sha256": "319b4b87af7de7ff6c8e304be0a69decc6fd4f84e148e5a8eee7bcd0d9fd77ef" + }, + { + "name": "restore-python-candidate-nonmath-gap", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... FAIL\n\n======================================================================\nFAIL: test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'MATH_DEPENDENCY_GAP' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.002s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "8d93ccc53b9bf1a4de213e0565876cb29f892553d5e557db038a9ff0198b0f23", + "log": "../evidence/mutations-normal/restore-python-candidate-nonmath-gap.log", + "log_sha256": "3681f46dc965deeef1889e9da5c5ef2926a4b23961c41368bedee822e3221d80" + }, + { + "name": "restore-python-prefix-nonmath-gap", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... FAIL\n\n======================================================================\nFAIL: test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'MATH_DEPENDENCY_GAP' not found in {'PY_IMPORT_GAP'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "f46b76305d4c62b88686a96cecdb7a48e3ade0c0bd479c2db2b113ed68bef782", + "log": "../evidence/mutations-normal/restore-python-prefix-nonmath-gap.log", + "log_sha256": "61715bd3274f49d172e2577ed14fdc1ff1707a498b16425a6e8a61afda7ec0b1" + }, + { + "name": "restore-null-status-evidence-skip", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 6, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... \n test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) ... FAIL\n\n======================================================================\nFAIL: test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-1mrc1yzh/tests/test_auditor.py\", line 822, in test_explicit_null_or_invalid_status_flag_cannot_disable_checks\n self.assertIn('STATUS_EVIDENCE', self.codes())\nAssertionError: 'STATUS_EVIDENCE' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.002s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "9db61dc89438708abb5da63124fb09c5aad676121525161a2dfed2601399a2ba", + "log": "../evidence/mutations-normal/restore-null-status-evidence-skip.log", + "log_sha256": "7fb616fcce1724e535e07e1955adbe30dcb427126918e55589e467e0ca342d33" + }, + { + "name": "restore-es-module-extension-gap", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... FAIL\n\n======================================================================\nFAIL: test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "29bbfc603d4ddc1b6959d17600063524ec1f0cff552dc84874e83cd9acdaed2d", + "log": "../evidence/mutations-normal/restore-es-module-extension-gap.log", + "log_sha256": "13b1fe2226e312be3cac54d858b59fab7ff666efc5c3495fc641bd09ff90796c" + }, + { + "name": "restore-es-module-text-wrapper-gap", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... FAIL\n\n======================================================================\nFAIL: test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "ad36fd7c51fbb4b8e30a944b3aecbb2aeb7095b2715b006cab3e8891a0f75128", + "log": "../evidence/mutations-normal/restore-es-module-text-wrapper-gap.log", + "log_sha256": "179a0a93eb0eedbec67a933ac255528fa9c0c83ac739dc9947d400269ddcef8a" + }, + { + "name": "allow-python-division", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "started_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_assertion_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 15, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... \n test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL\n\n======================================================================\nFAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-cmm80ttu/tests/test_auditor.py\", line 173, in test_every_inexact_python_route_is_rejected\n self.assertIn(code, self.python_codes(text))\nAssertionError: 'PY_INEXACT' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "invalid_population": [] + }, + "original_sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutated_sha256": "35b7eeae3b99fb74c980e1eb070246aaefabbb3abaf5fc7218512d8a36ffc3f3", + "log": "../evidence/mutations-normal/allow-python-division.log", + "log_sha256": "1c810a1f97295a9d52da99843bda1da01c5c27d4585ca75449d266ad6a2e37d9" + }, + { + "name": "allow-negative-dynamic-powers", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "started_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_assertion_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "source": "subtest" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 15, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... \n test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL\n test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL\n\n======================================================================\nFAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-kvnoeiqd/tests/test_auditor.py\", line 173, in test_every_inexact_python_route_is_rejected\n self.assertIn(code, self.python_codes(text))\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-kvnoeiqd/tests/test_auditor.py\", line 173, in test_every_inexact_python_route_is_rejected\n self.assertIn(code, self.python_codes(text))\nAssertionError: 'PY_INEXACT' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.002s\n\nFAILED (failures=2)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "invalid_population": [] + }, + "original_sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutated_sha256": "0a08500508d2ee8a643b8b3e03e82ef783170564fda93bd48a206233e3f46ca5", + "log": "../evidence/mutations-normal/allow-negative-dynamic-powers.log", + "log_sha256": "b192bd30136dd0cb7aa4e938a580a2fb34bba93f9050a05a493cae299afb2b9e" + }, + { + "name": "skip-status-evidence", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "started_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "finished_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "body_entered_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "body_finished_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "body_assertion_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "assertion_events": [ + { + "id": "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL\n\n======================================================================\nFAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'STATUS_EVIDENCE' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "dbbb90a3fccb53cb0ccfffd1a27368faae20db77d2191855be9c25cff777447e", + "log": "../evidence/mutations-normal/skip-status-evidence.log", + "log_sha256": "46deb7861b56bfd8f62bc0da547a7bbef2e600547c00a7de307a110dc1e01a19" + } + ], + "passed": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal.log new file mode 100644 index 000000000..9bab37ade --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal.log @@ -0,0 +1,10 @@ +restore-augmented-division-gap: KILLED +restore-augmented-power-gap: KILLED +restore-python-candidate-nonmath-gap: KILLED +restore-python-prefix-nonmath-gap: KILLED +restore-null-status-evidence-skip: KILLED +restore-es-module-extension-gap: KILLED +restore-es-module-text-wrapper-gap: KILLED +allow-python-division: KILLED +allow-negative-dynamic-powers: KILLED +skip-status-evidence: KILLED diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/allow-negative-dynamic-powers.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/allow-negative-dynamic-powers.log new file mode 100644 index 000000000..98cf12f16 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/allow-negative-dynamic-powers.log @@ -0,0 +1,24 @@ +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kvnoeiqd/tests/test_auditor.py", line 173, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-kvnoeiqd/tests/test_auditor.py", line 173, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.002s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/allow-python-division.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/allow-python-division.log new file mode 100644 index 000000000..fbee2ab5f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/allow-python-division.log @@ -0,0 +1,15 @@ +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-cmm80ttu/tests/test_auditor.py", line 173, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-augmented-division-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-augmented-division-gap.log new file mode 100644 index 000000000..a810bbcb8 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-augmented-division-gap.log @@ -0,0 +1,24 @@ +test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... + test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\nx /= 2') ... FAIL + test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\nx /= 1') ... FAIL + +====================================================================== +FAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\nx /= 2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4fo1zz1y/tests/test_auditor.py", line 791, in test_augmented_division_cannot_certify_float_results + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\nx /= 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-4fo1zz1y/tests/test_auditor.py", line 791, in test_augmented_division_cannot_certify_float_results + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-augmented-power-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-augmented-power-gap.log new file mode 100644 index 000000000..f129197f4 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-augmented-power-gap.log @@ -0,0 +1,33 @@ +test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') ... FAIL + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') ... FAIL + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') ... FAIL + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xogj1xen/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xogj1xen/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-xogj1xen/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-es-module-extension-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-es-module-extension-gap.log new file mode 100644 index 000000000..f543649b7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-es-module-extension-gap.log @@ -0,0 +1,15 @@ +test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... FAIL + +====================================================================== +FAIL: test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-es-module-text-wrapper-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-es-module-text-wrapper-gap.log new file mode 100644 index 000000000..df1057cdb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-es-module-text-wrapper-gap.log @@ -0,0 +1,15 @@ +test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... FAIL + +====================================================================== +FAIL: test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-null-status-evidence-skip.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-null-status-evidence-skip.log new file mode 100644 index 000000000..fc6ecd197 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-null-status-evidence-skip.log @@ -0,0 +1,15 @@ +test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... + test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) ... FAIL + +====================================================================== +FAIL: test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-1mrc1yzh/tests/test_auditor.py", line 822, in test_explicit_null_or_invalid_status_flag_cannot_disable_checks + self.assertIn('STATUS_EVIDENCE', self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.002s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-python-candidate-nonmath-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-python-candidate-nonmath-gap.log new file mode 100644 index 000000000..3c19ba093 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-python-candidate-nonmath-gap.log @@ -0,0 +1,15 @@ +test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... FAIL + +====================================================================== +FAIL: test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.002s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-python-prefix-nonmath-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-python-prefix-nonmath-gap.log new file mode 100644 index 000000000..1215d6f61 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/restore-python-prefix-nonmath-gap.log @@ -0,0 +1,15 @@ +test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... FAIL + +====================================================================== +FAIL: test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'MATH_DEPENDENCY_GAP' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 1 test in 0.003s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/skip-status-evidence.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/skip-status-evidence.log new file mode 100644 index 000000000..cf4c69221 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-normal/skip-status-evidence.log @@ -0,0 +1,15 @@ +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized.json new file mode 100644 index 000000000..8f712a406 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized.json @@ -0,0 +1,904 @@ +{ + "mode": "optimized", + "optimized_child_environment": true, + "new_definitions": 7, + "adapted_existing_definitions": 3, + "results": [ + { + "name": "restore-augmented-division-gap", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 2, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "assertion" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... \n test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\\nx /= 2') ... FAIL\n test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\\nx /= 1') ... FAIL\n\n======================================================================\nFAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\\nx /= 2')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_ywciqkf/tests/test_auditor.py\", line 791, in test_augmented_division_cannot_certify_float_results\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\\nx /= 1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-_ywciqkf/tests/test_auditor.py\", line 791, in test_augmented_division_cannot_certify_float_results\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=2)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results" + ], + "invalid_population": [] + }, + "original_sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutated_sha256": "4f1ae444469f9a95c179ea23ca87b22d9f026095ece3c216602ec3006b1d0a4d", + "log": "../evidence/mutations-optimized/restore-augmented-division-gap.log", + "log_sha256": "30ab3689e5195e938f71fe3521593dc27baba9143daecd3e24b5c0425043a325" + }, + { + "name": "restore-augmented-power-gap", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 3, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 4, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 3, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... \n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') ... FAIL\n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') ... FAIL\n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') ... FAIL\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-w7rx5_lw/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-w7rx5_lw/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-w7rx5_lw/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.002s\n\nFAILED (failures=3)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal" + ], + "invalid_population": [] + }, + "original_sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutated_sha256": "672aa01dd78d60caf9d5dcb977225a30ab6ef3e8ad77932a60f21ec291188748", + "log": "../evidence/mutations-optimized/restore-augmented-power-gap.log", + "log_sha256": "c6cda3b10618cf8ce0357e5aebd469d89812c33a5a3971f933ee18ef8637c77e" + }, + { + "name": "restore-python-candidate-nonmath-gap", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... FAIL\n\n======================================================================\nFAIL: test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'MATH_DEPENDENCY_GAP' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "8d93ccc53b9bf1a4de213e0565876cb29f892553d5e557db038a9ff0198b0f23", + "log": "../evidence/mutations-optimized/restore-python-candidate-nonmath-gap.log", + "log_sha256": "8a943af220941e7167a9638308586c3f8680c3a8c99ce1594aa87d71a499c71a" + }, + { + "name": "restore-python-prefix-nonmath-gap", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... FAIL\n\n======================================================================\nFAIL: test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'MATH_DEPENDENCY_GAP' not found in {'PY_IMPORT_GAP'}\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "f46b76305d4c62b88686a96cecdb7a48e3ade0c0bd479c2db2b113ed68bef782", + "log": "../evidence/mutations-optimized/restore-python-prefix-nonmath-gap.log", + "log_sha256": "0fcac367438f9fd4fa8eb5210b9d683db523c4560a9317eafe23d283f872b999" + }, + { + "name": "restore-null-status-evidence-skip", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 6, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... \n test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) ... FAIL\n\n======================================================================\nFAIL: test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-lq2_h0aa/tests/test_auditor.py\", line 822, in test_explicit_null_or_invalid_status_flag_cannot_disable_checks\n self.assertIn('STATUS_EVIDENCE', self.codes())\nAssertionError: 'STATUS_EVIDENCE' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.003s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "9db61dc89438708abb5da63124fb09c5aad676121525161a2dfed2601399a2ba", + "log": "../evidence/mutations-optimized/restore-null-status-evidence-skip.log", + "log_sha256": "132c94535ce1dffca86699489a946a5a609095891af1635b002dd135e1d6f910" + }, + { + "name": "restore-es-module-extension-gap", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... FAIL\n\n======================================================================\nFAIL: test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "29bbfc603d4ddc1b6959d17600063524ec1f0cff552dc84874e83cd9acdaed2d", + "log": "../evidence/mutations-optimized/restore-es-module-extension-gap.log", + "log_sha256": "13b1fe2226e312be3cac54d858b59fab7ff666efc5c3495fc641bd09ff90796c" + }, + { + "name": "restore-es-module-text-wrapper-gap", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... FAIL\n\n======================================================================\nFAIL: test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "ad36fd7c51fbb4b8e30a944b3aecbb2aeb7095b2715b006cab3e8891a0f75128", + "log": "../evidence/mutations-optimized/restore-es-module-text-wrapper-gap.log", + "log_sha256": "179a0a93eb0eedbec67a933ac255528fa9c0c83ac739dc9947d400269ddcef8a" + }, + { + "name": "allow-python-division", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "started_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_assertion_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 15, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... \n test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL\n\n======================================================================\nFAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-m9p6u2i9/tests/test_auditor.py\", line 173, in test_every_inexact_python_route_is_rejected\n self.assertIn(code, self.python_codes(text))\nAssertionError: 'PY_INEXACT' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "invalid_population": [] + }, + "original_sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutated_sha256": "35b7eeae3b99fb74c980e1eb070246aaefabbb3abaf5fc7218512d8a36ffc3f3", + "log": "../evidence/mutations-optimized/allow-python-division.log", + "log_sha256": "d7822d36099e70351b6f5b5deae8cac948f64546b280f8b2432bdc69425ddb83" + }, + { + "name": "allow-negative-dynamic-powers", + "file": "source_checks.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "started_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "finished_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_entered_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_finished_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "body_assertion_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "assertion_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "source": "subtest" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "source": "subtest" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 15, + "subtest_events": [ + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 2, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... \n test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL\n test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL\n\n======================================================================\nFAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wj4pnwvj/tests/test_auditor.py\", line 173, in test_every_inexact_python_route_is_rejected\n self.assertIn(code, self.python_codes(text))\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/tmp/cbz-layer-a-mutant-wj4pnwvj/tests/test_auditor.py\", line 173, in test_every_inexact_python_route_is_rejected\n self.assertIn(code, self.python_codes(text))\nAssertionError: 'PY_INEXACT' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=2)\n" + }, + "expected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.SourceRules.test_every_inexact_python_route_is_rejected" + ], + "invalid_population": [] + }, + "original_sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "mutated_sha256": "0a08500508d2ee8a643b8b3e03e82ef783170564fda93bd48a206233e3f46ca5", + "log": "../evidence/mutations-optimized/allow-negative-dynamic-powers.log", + "log_sha256": "c1af116f0a8e9029fb45f934e949a9365d0b231cb4df7c70fe77900c0cdd94a9" + }, + { + "name": "skip-status-evidence", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "started_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "finished_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "body_entered_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "body_finished_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "body_assertion_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "assertion_events": [ + { + "id": "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL\n\n======================================================================\nFAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'STATUS_EVIDENCE' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration" + ], + "invalid_population": [] + }, + "original_sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "mutated_sha256": "dbbb90a3fccb53cb0ccfffd1a27368faae20db77d2191855be9c25cff777447e", + "log": "../evidence/mutations-optimized/skip-status-evidence.log", + "log_sha256": "46deb7861b56bfd8f62bc0da547a7bbef2e600547c00a7de307a110dc1e01a19" + } + ], + "passed": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized.log new file mode 100644 index 000000000..9bab37ade --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized.log @@ -0,0 +1,10 @@ +restore-augmented-division-gap: KILLED +restore-augmented-power-gap: KILLED +restore-python-candidate-nonmath-gap: KILLED +restore-python-prefix-nonmath-gap: KILLED +restore-null-status-evidence-skip: KILLED +restore-es-module-extension-gap: KILLED +restore-es-module-text-wrapper-gap: KILLED +allow-python-division: KILLED +allow-negative-dynamic-powers: KILLED +skip-status-evidence: KILLED diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/allow-negative-dynamic-powers.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/allow-negative-dynamic-powers.log new file mode 100644 index 000000000..2e463018a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/allow-negative-dynamic-powers.log @@ -0,0 +1,24 @@ +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') ... FAIL + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') ... FAIL + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wj4pnwvj/tests/test_auditor.py", line 173, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=2**n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-wj4pnwvj/tests/test_auditor.py", line 173, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/allow-python-division.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/allow-python-division.log new file mode 100644 index 000000000..ca12a2f22 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/allow-python-division.log @@ -0,0 +1,15 @@ +test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) ... + test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') ... FAIL + +====================================================================== +FAIL: test_every_inexact_python_route_is_rejected (test_auditor.SourceRules.test_every_inexact_python_route_is_rejected) (text='x=1/2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-m9p6u2i9/tests/test_auditor.py", line 173, in test_every_inexact_python_route_is_rejected + self.assertIn(code, self.python_codes(text)) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-augmented-division-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-augmented-division-gap.log new file mode 100644 index 000000000..931744b0e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-augmented-division-gap.log @@ -0,0 +1,24 @@ +test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... + test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\nx /= 2') ... FAIL + test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\nx /= 1') ... FAIL + +====================================================================== +FAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\nx /= 2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_ywciqkf/tests/test_auditor.py", line 791, in test_augmented_division_cannot_certify_float_results + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\nx /= 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-_ywciqkf/tests/test_auditor.py", line 791, in test_augmented_division_cannot_certify_float_results + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=2) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-augmented-power-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-augmented-power-gap.log new file mode 100644 index 000000000..1513405d3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-augmented-power-gap.log @@ -0,0 +1,33 @@ +test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') ... FAIL + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') ... FAIL + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') ... FAIL + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w7rx5_lw/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w7rx5_lw/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-w7rx5_lw/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.002s + +FAILED (failures=3) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-es-module-extension-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-es-module-extension-gap.log new file mode 100644 index 000000000..f543649b7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-es-module-extension-gap.log @@ -0,0 +1,15 @@ +test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... FAIL + +====================================================================== +FAIL: test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-es-module-text-wrapper-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-es-module-text-wrapper-gap.log new file mode 100644 index 000000000..df1057cdb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-es-module-text-wrapper-gap.log @@ -0,0 +1,15 @@ +test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... FAIL + +====================================================================== +FAIL: test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-null-status-evidence-skip.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-null-status-evidence-skip.log new file mode 100644 index 000000000..c27bcc841 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-null-status-evidence-skip.log @@ -0,0 +1,15 @@ +test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... + test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) ... FAIL + +====================================================================== +FAIL: test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/tmp/cbz-layer-a-mutant-lq2_h0aa/tests/test_auditor.py", line 822, in test_explicit_null_or_invalid_status_flag_cannot_disable_checks + self.assertIn('STATUS_EVIDENCE', self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.003s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-python-candidate-nonmath-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-python-candidate-nonmath-gap.log new file mode 100644 index 000000000..8af7aa3eb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-python-candidate-nonmath-gap.log @@ -0,0 +1,15 @@ +test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... FAIL + +====================================================================== +FAIL: test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-python-prefix-nonmath-gap.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-python-prefix-nonmath-gap.log new file mode 100644 index 000000000..3da5584f7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/restore-python-prefix-nonmath-gap.log @@ -0,0 +1,15 @@ +test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... FAIL + +====================================================================== +FAIL: test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'MATH_DEPENDENCY_GAP' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/skip-status-evidence.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/skip-status-evidence.log new file mode 100644 index 000000000..cf4c69221 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/mutations-optimized/skip-status-evidence.log @@ -0,0 +1,15 @@ +test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) ... FAIL + +====================================================================== +FAIL: test_status_pass_requires_actual_bound_observation_not_aspiration (test_auditor.ManifestRules.test_status_pass_requires_actual_bound_observation_not_aspiration) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'STATUS_EVIDENCE' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-normal.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-normal.json new file mode 100644 index 000000000..84b8d6d0d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-normal.json @@ -0,0 +1,33 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nOK\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-normal.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-normal.log new file mode 100644 index 000000000..57226199e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-normal.log @@ -0,0 +1,6 @@ +test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-optimized.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-optimized.json new file mode 100644 index 000000000..84b8d6d0d --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-optimized.json @@ -0,0 +1,33 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_assertion_ids": [], + "assertion_events": [], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [], + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": true, + "log": "test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... ok\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nOK\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-optimized.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-optimized.log new file mode 100644 index 000000000..57226199e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-green-optimized.log @@ -0,0 +1,6 @@ +test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... ok + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +OK diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal.json new file mode 100644 index 000000000..76b462abb --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal.json @@ -0,0 +1,69 @@ +{ + "name": "discard-known-notebook-source-suffixes", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... FAIL\n\n======================================================================\nFAIL: test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 290, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "invalid_population": [] + }, + "original_sha256": "309935e125195ae8093ffeb691f9d4c16f6c69e3dbb74b453ed6d50e05be1619", + "mutated_sha256": "27e2e054d93844cf97d738450a95605d8d9af81dc6a36009aea5a3b1f944d2a1", + "log": "../evidence/notebook-mutation-normal/discard-known-notebook-source-suffixes.log", + "log_sha256": "8544547d4db60733a023aad0616db42012efddb651646461b447fffeac94cb08" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal.log new file mode 100644 index 000000000..1fdd5bb5e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal.log @@ -0,0 +1 @@ +{"mode": "normal", "outcome": "KILLED", "errors": 0, "assertion_failures": 1} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal/discard-known-notebook-source-suffixes.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal/discard-known-notebook-source-suffixes.log new file mode 100644 index 000000000..1fc5cd929 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-normal/discard-known-notebook-source-suffixes.log @@ -0,0 +1,15 @@ +test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... FAIL + +====================================================================== +FAIL: test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 290, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized.json new file mode 100644 index 000000000..0887f6738 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized.json @@ -0,0 +1,69 @@ +{ + "name": "discard-known-notebook-source-suffixes", + "file": "auditor.py", + "outcome": "KILLED", + "returncode": 1, + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "tests": { + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... FAIL\n\n======================================================================\nFAIL: test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 290, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" + }, + "expected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "pristine_population": { + "receipt_schema": "cbz-unittest-population-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "invalid_population": [] + }, + "original_sha256": "309935e125195ae8093ffeb691f9d4c16f6c69e3dbb74b453ed6d50e05be1619", + "mutated_sha256": "27e2e054d93844cf97d738450a95605d8d9af81dc6a36009aea5a3b1f944d2a1", + "log": "../evidence/notebook-mutation-optimized/discard-known-notebook-source-suffixes.log", + "log_sha256": "8544547d4db60733a023aad0616db42012efddb651646461b447fffeac94cb08" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized.log new file mode 100644 index 000000000..c16944c4e --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized.log @@ -0,0 +1 @@ +{"mode": "optimized", "outcome": "KILLED", "errors": 0, "assertion_failures": 1} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized/discard-known-notebook-source-suffixes.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized/discard-known-notebook-source-suffixes.log new file mode 100644 index 000000000..1fc5cd929 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-mutation-optimized/discard-known-notebook-source-suffixes.log @@ -0,0 +1,15 @@ +test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... FAIL + +====================================================================== +FAIL: test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 290, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-red.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-red.json new file mode 100644 index 000000000..ad993efd7 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-red.json @@ -0,0 +1,46 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 0, + "subtest_events": [], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... FAIL\n\n======================================================================\nFAIL: test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 289, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n----------------------------------------------------------------------\nRan 1 test in 0.001s\n\nFAILED (failures=1)\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-red.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-red.log new file mode 100644 index 000000000..6eb841fec --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/notebook-red.log @@ -0,0 +1,15 @@ +test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) ... FAIL + +====================================================================== +FAIL: test_executable_notebooks_cannot_be_reclassified_as_nonsource (test_auditor.ReviewBoundaryRules.test_executable_notebooks_cannot_be_reclassified_as_nonsource) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 289, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +---------------------------------------------------------------------- +Ran 1 test in 0.001s + +FAILED (failures=1) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/APPLICABILITY.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/APPLICABILITY.json new file mode 100644 index 000000000..bdad9a887 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/APPLICABILITY.json @@ -0,0 +1,50 @@ +{ + "baseline_head": "19b8e20a698775bef1813c5ceac91e2be9119bde", + "baseline_methods": 94, + "final_standalone_methods": 102, + "fresh_distinct_methods_per_mode": 18, + "reused_predecessor_methods": 84, + "normal_success_invocations": 20, + "normal_final_hash_success_invocations": 12, + "normal_reuse_from_initial_green": 6, + "optimized_success_invocations": 18, + "fresh_mutation_definitions": 7, + "adapted_existing_mutation_definitions": 3, + "unchanged_reused_definitions": 57, + "final_mutation_definitions": 67, + "mutation_executions_per_mode": 10, + "runner_definitions_unchanged": true, + "source_checks_definitions_changed": [ + "check_python" + ], + "test_files": [ + { + "path": "tests/test_auditor.py", + "before": 79, + "after": 87, + "old_methods_unchanged": true + }, + { + "path": "tests/test_mutation_runner.py", + "before": 15, + "after": 15, + "old_methods_unchanged": true + } + ], + "new_mutation_names": [ + "restore-augmented-division-gap", + "restore-augmented-power-gap", + "restore-python-candidate-nonmath-gap", + "restore-python-prefix-nonmath-gap", + "restore-null-status-evidence-skip", + "restore-es-module-extension-gap", + "restore-es-module-text-wrapper-gap" + ], + "adapted_legacy_mutation_names": [ + "allow-python-division", + "allow-negative-dynamic-powers", + "skip-status-evidence" + ], + "no_full_suite_replay": true, + "no_lean_or_kernel_replay": true +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/OVERLAY_MANIFEST.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/OVERLAY_MANIFEST.json new file mode 100644 index 000000000..0c4a70038 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/OVERLAY_MANIFEST.json @@ -0,0 +1,282 @@ +{ + "baseline_head": "19b8e20a698775bef1813c5ceac91e2be9119bde", + "status": "READY_FOR_ROOT_COMPOSITION", + "source_paths": [ + "auditor.py", + "source_checks.py", + "mutation_test.py", + "tests/test_auditor.py" + ], + "outside_tool_prefix_changes": 0, + "deleted_paths": 0, + "files": [ + { + "path": "REVIEW_BOUNDARY_FIX.md", + "bytes": 5324, + "sha256": "bd9cd843840b8d1ae9d6736f66b6ada35eca44486dd30a880559a7aac6643786" + }, + { + "path": "auditor.py", + "bytes": 27000, + "sha256": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd" + }, + { + "path": "evidence/review-boundary-fix/AFFECTED_METHODS.json", + "bytes": 3476, + "sha256": "4053dae64457fc379e8465fb95ca5c3584628beb06a7d571796d477c0b2c5447" + }, + { + "path": "evidence/review-boundary-fix/APPLICABILITY.json", + "bytes": 1461, + "sha256": "e8694f405acd5ef6d0834a6f89d2c0a490514b0d94ab07cba7c8467a3fbaaacf" + }, + { + "path": "evidence/review-boundary-fix/BASELINE_SOURCES.json", + "bytes": 691, + "sha256": "be0dcf5f85c8db581d8adf6ffefddea6ba20aee33a3c18d5219561bbb7d1c304" + }, + { + "path": "evidence/review-boundary-fix/DECISION_PAYLOAD.md", + "bytes": 453, + "sha256": "8c2885f592575eba26fb99f597026ad4d082a53a89ad9bed4528a1376610c7a1" + }, + { + "path": "evidence/review-boundary-fix/FINAL_SOURCES.json", + "bytes": 556, + "sha256": "105118c767dd125b5366816aa4bb21ea22cc0b21759344b05d813ba76fe93f5d" + }, + { + "path": "evidence/review-boundary-fix/IMPORTERROR_REUSED.json", + "bytes": 754, + "sha256": "0ba40fe5b5a8b59336af2a93bb3130432e3589030a8d68231c8a8f5ee4fcedab" + }, + { + "path": "evidence/review-boundary-fix/MUTATION_COMMAND.py.txt", + "bytes": 2216, + "sha256": "69cfdf331d4b11cfc842208437b7523b217cba16e60d703d0d60585bd697489d" + }, + { + "path": "evidence/review-boundary-fix/MUTATION_DELTA.json", + "bytes": 1448, + "sha256": "0256f7c6574b1aeb1a92a75db9e3481e1dce1902775f61f3820b1ff392f1e8ac" + }, + { + "path": "evidence/review-boundary-fix/ORIGINAL_REVIEW.json", + "bytes": 5005, + "sha256": "6fcf88a88184e48fedfbc27076b9692a8854e746a9dcbdcfbce23250bd55307e" + }, + { + "path": "evidence/review-boundary-fix/TOOLING_GOVERNANCE_PAYLOAD.md", + "bytes": 1844, + "sha256": "53120434ee7bd0103146ddf1f5596b254426ccb9b1210358239abcbd98c35509" + }, + { + "path": "evidence/review-boundary-fix/green-normal-final.json", + "bytes": 10652, + "sha256": "3dd684e464ae31e574fd7bc8a9b8bef98b6cffecab434023b729ffd9945a55e1" + }, + { + "path": "evidence/review-boundary-fix/green-normal-final.log", + "bytes": 2051, + "sha256": "db4680c5b3ecf1d2f1e03e8d0bf64e7160887ae8b2dffef5aeab9cc4be95cadf" + }, + { + "path": "evidence/review-boundary-fix/green-normal.json", + "bytes": 8040, + "sha256": "e07e48eb8bf0baf81477b5eaa45c4c40d18abb9154f3ee44a01e23c0c075ac95" + }, + { + "path": "evidence/review-boundary-fix/green-normal.log", + "bytes": 1410, + "sha256": "1552ae52d5760a64b4480d3a84cfef7203d8846de86976cf02ec88b907ff1b42" + }, + { + "path": "evidence/review-boundary-fix/green-optimized.json", + "bytes": 16698, + "sha256": "3e8d994cedea3b2591b1ea7992999f13da59ef1768da5574a0ff81e890e10512" + }, + { + "path": "evidence/review-boundary-fix/green-optimized.log", + "bytes": 3027, + "sha256": "b604e870ac67f49b2199ed5a4fa88561ea553f0c53746d4176777b16a3079da6" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/allow-negative-dynamic-powers.log", + "bytes": 1588, + "sha256": "b192bd30136dd0cb7aa4e938a580a2fb34bba93f9050a05a493cae299afb2b9e" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/allow-python-division.log", + "bytes": 908, + "sha256": "1c810a1f97295a9d52da99843bda1da01c5c27d4585ca75449d266ad6a2e37d9" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/restore-augmented-division-gap.log", + "bytes": 1818, + "sha256": "ec364ee318316d73108103d95682fc84160407a7b503564200b0a7fe3c455455" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/restore-augmented-power-gap.log", + "bytes": 2630, + "sha256": "319b4b87af7de7ff6c8e304be0a69decc6fd4f84e148e5a8eee7bcd0d9fd77ef" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/restore-es-module-extension-gap.log", + "bytes": 869, + "sha256": "13b1fe2226e312be3cac54d858b59fab7ff666efc5c3495fc641bd09ff90796c" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/restore-es-module-text-wrapper-gap.log", + "bytes": 837, + "sha256": "179a0a93eb0eedbec67a933ac255528fa9c0c83ac739dc9947d400269ddcef8a" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/restore-null-status-evidence-skip.log", + "bytes": 1073, + "sha256": "7fb616fcce1724e535e07e1955adbe30dcb427126918e55589e467e0ca342d33" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/restore-python-candidate-nonmath-gap.log", + "bytes": 875, + "sha256": "3681f46dc965deeef1889e9da5c5ef2926a4b23961c41368bedee822e3221d80" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/restore-python-prefix-nonmath-gap.log", + "bytes": 863, + "sha256": "61715bd3274f49d172e2577ed14fdc1ff1707a498b16425a6e8a61afda7ec0b1" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal/skip-status-evidence.log", + "bytes": 859, + "sha256": "46deb7861b56bfd8f62bc0da547a7bbef2e600547c00a7de307a110dc1e01a19" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal.json", + "bytes": 47071, + "sha256": "376c7fd85c0e02ba645dbe9e617637cf45e1593feb2af8f5195841472f301cf8" + }, + { + "path": "evidence/review-boundary-fix/mutations-normal.log", + "bytes": 384, + "sha256": "de25931b84694890f80db86f46e965b2603cba78189c870d5ca5ebc08a842872" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/allow-negative-dynamic-powers.log", + "bytes": 1588, + "sha256": "c1af116f0a8e9029fb45f934e949a9365d0b231cb4df7c70fe77900c0cdd94a9" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/allow-python-division.log", + "bytes": 908, + "sha256": "d7822d36099e70351b6f5b5deae8cac948f64546b280f8b2432bdc69425ddb83" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/restore-augmented-division-gap.log", + "bytes": 1818, + "sha256": "30ab3689e5195e938f71fe3521593dc27baba9143daecd3e24b5c0425043a325" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/restore-augmented-power-gap.log", + "bytes": 2630, + "sha256": "c6cda3b10618cf8ce0357e5aebd469d89812c33a5a3971f933ee18ef8637c77e" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/restore-es-module-extension-gap.log", + "bytes": 869, + "sha256": "13b1fe2226e312be3cac54d858b59fab7ff666efc5c3495fc641bd09ff90796c" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/restore-es-module-text-wrapper-gap.log", + "bytes": 837, + "sha256": "179a0a93eb0eedbec67a933ac255528fa9c0c83ac739dc9947d400269ddcef8a" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/restore-null-status-evidence-skip.log", + "bytes": 1073, + "sha256": "132c94535ce1dffca86699489a946a5a609095891af1635b002dd135e1d6f910" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/restore-python-candidate-nonmath-gap.log", + "bytes": 875, + "sha256": "8a943af220941e7167a9638308586c3f8680c3a8c99ce1594aa87d71a499c71a" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/restore-python-prefix-nonmath-gap.log", + "bytes": 863, + "sha256": "0fcac367438f9fd4fa8eb5210b9d683db523c4560a9317eafe23d283f872b999" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized/skip-status-evidence.log", + "bytes": 859, + "sha256": "46deb7861b56bfd8f62bc0da547a7bbef2e600547c00a7de307a110dc1e01a19" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized.json", + "bytes": 47103, + "sha256": "26225b8246cd87f02c702b1501f79808d240af57fde0e788e92a243315be4eb6" + }, + { + "path": "evidence/review-boundary-fix/mutations-optimized.log", + "bytes": 384, + "sha256": "de25931b84694890f80db86f46e965b2603cba78189c870d5ca5ebc08a842872" + }, + { + "path": "evidence/review-boundary-fix/red-normal.json", + "bytes": 18481, + "sha256": "cd781ec6bbc760a8a6d86dfc6c2b75710d31ce81602d8e59fa5248be3b11a1da" + }, + { + "path": "evidence/review-boundary-fix/red-normal.log", + "bytes": 8585, + "sha256": "1a9313e629f03d164a554186b7913e1f8fd301eb681a0fca2e4be1160e24eee4" + }, + { + "path": "evidence/review-boundary-fix/review/AST_APPLICABILITY.json", + "bytes": 892, + "sha256": "c8694911460f048befee468a1861ff957367b58354e1585a361f582cd80b7c5f" + }, + { + "path": "evidence/review-boundary-fix/review/SOURCE_REVIEW.json", + "bytes": 5992, + "sha256": "6c305b4cf649d7f371d19d65a8230a403e9bf730fa4043eed2418ac4eb5e8081" + }, + { + "path": "mutation_test.py", + "bytes": 32441, + "sha256": "5ded9168b19ec759d16b2597dab5f0e3efc1a6598b22664de94787f7e1a62940" + }, + { + "path": "source_checks.py", + "bytes": 18681, + "sha256": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0" + }, + { + "path": "tests/test_auditor.py", + "bytes": 50501, + "sha256": "045de33d67dfc9ccabf8a16079b5a9c8a6af0fa2e85f988db596e318cadc749e" + } + ], + "scoped_results": { + "methods": { + "new": 8, + "existing_fresh": 10, + "reused": 84, + "standalone_total": 102 + }, + "mutations": { + "added": 7, + "adapted_and_rechecked": 3, + "unchanged_reused": 57, + "active_total": 67, + "fresh_kills_per_mode": 10 + } + }, + "limits": [ + "no active workspace source mutation", + "no GitHub mutation", + "no full102/67 replay", + "actual repository G1 NOT_RUN", + "root must combine separate identity-runner repair and retain its evidence" + ], + "review_sha256": "6c305b4cf649d7f371d19d65a8230a403e9bf730fa4043eed2418ac4eb5e8081" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/auditor.py b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/auditor.py new file mode 100644 index 000000000..cd383e9ee --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/auditor.py @@ -0,0 +1,370 @@ +#!/usr/bin/env python3 +"""G1 bounded static auditor. `STATIC_PASS` is not proof closure. See SPEC.md.""" +import argparse +from collections import Counter +import hashlib +import json +import os +from pathlib import Path, PurePosixPath +import re +import stat +import sys +import unicodedata + +from source_checks import check_lean, check_python + +APPROVED_AXIOMS = frozenset({'propext', 'Classical.choice', 'Quot.sound'}) +KINDS = frozenset({'project_lean','math_python','engineering_python','negative_fixture','quarantined_source', + 'external_pinned','binary_proof','documentation','data'}) +RETAINED = frozenset({'negative_fixture','quarantined_source'}) +SOURCE_EXTENSIONS = frozenset({'.lean','.py','.pyi','.sh','.bash','.js','.mjs','.ts','.c','.cc','.cpp','.h','.rs'}) +BINARY_EXTENSIONS = frozenset({'.olean','.ilean','.o','.so','.a','.dll','.dylib','.wasm'}) +HEX = re.compile(r'[0-9a-f]{64}') +ENTRY_KEYS = frozenset({'kind','sha256','module','language','vacuity','expected_findings','quarantine', + 'fixture_purpose','pin','nonmath_review','bindings','status_evidence'}) + + +CLASS_KEYS = { + 'project_lean': {'module','vacuity'}, + 'math_python': {'module'}, + 'engineering_python': {'module','nonmath_review'}, + 'negative_fixture': {'language','module','expected_findings','fixture_purpose'}, + 'quarantined_source': {'language','module','expected_findings','quarantine'}, + 'external_pinned': {'language','module','vacuity','pin','bindings'}, + 'binary_proof': {'bindings','pin'}, + 'documentation': {'status_evidence'}, + 'data': {'status_evidence'}, +} + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def strict_json(text): + def unique(pairs): + result = {} + for k, v in pairs: + if k in result: + raise ValueError('duplicate JSON key: ' + k) + result[k] = v + return result + def refuse(token): + raise ValueError('noninteger/nonfinite JSON number refused: ' + token) + return json.loads(text, object_pairs_hook=unique, parse_float=refuse, parse_constant=refuse) + + +def normalized_path(value): + if not isinstance(value, str) or not value or '\\' in value or '\x00' in value: + return False + p = PurePosixPath(value) + return (not p.is_absolute() and '..' not in p.parts and '.' not in p.parts and str(p) == value and + unicodedata.normalize('NFC', value) == value and not any(ord(c) < 32 for c in value)) + + +def audit(manifest): + findings, retained_findings, observations = [], [], [] + records, roots, graph, source_results = {}, {}, {}, {} + classified_count, scanned_count = 0, 0 + + def add(code, detail, root='', path='', line=0): + findings.append({'code':code, 'root':root, 'path':path, 'line':line, 'detail':detail}) + + def nonempty(value): + return isinstance(value, str) and bool(value.strip()) + + def binding(value, owner, label): + if not isinstance(value, dict) or set(value) != {'root','path','sha256'}: + add('EVIDENCE_BINDING', 'malformed '+label, *owner); return None + ref = value.get('root','') + ':' + value.get('path','') if isinstance(value.get('root'),str) and isinstance(value.get('path'),str) else '' + target = records.get(ref) + if target is None or target.get('data') is None or value.get('sha256') != target['entry'].get('sha256') or digest(target['data']) != value.get('sha256'): + add('EVIDENCE_BINDING', 'missing/stale/unreadable '+label, *owner); return None + try: + return strict_json(target['data'].decode('utf-8')) + except (UnicodeError, ValueError, TypeError, RecursionError) as exc: + add('EVIDENCE_BINDING', 'non-JSON '+label+': '+str(exc), *owner); return None + + if not isinstance(manifest, dict) or set(manifest) != {'schema_version','approved_axioms','roots','module_map'} or type(manifest.get('schema_version')) is not int or manifest.get('schema_version') != 1: + add('MANIFEST','schema v1 exact top-level keys required') + manifest = manifest if isinstance(manifest,dict) else {} + approved = manifest.get('approved_axioms') + if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS: + add('FOUNDATION_PROFILE','approved imported axiom set must be exactly propext, Classical.choice, Quot.sound') + raw_roots=manifest.get('roots') + if not isinstance(raw_roots,list) or not raw_roots: + add('MANIFEST','nonempty roots required');raw_roots=[] + root_realpaths=[] + for r in raw_roots: + if not isinstance(r,dict) or set(r)!={'id','path','tree_id','tracked_files','files'}: + add('MANIFEST','root exact keys required');continue + rid=r.get('id') + if not isinstance(rid,str) or not re.fullmatch(r'[A-Za-z0-9_-]+',rid) or rid in roots: + add('MANIFEST','invalid or duplicate root id');continue + if not isinstance(r.get('tree_id'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',r['tree_id']) is None: + add('MANIFEST','immutable tree identifier required',rid) + rp=r.get('path') + if not isinstance(rp,str) or not Path(rp).is_absolute() or str(Path(rp))!=rp or unicodedata.normalize('NFC',rp)!=rp: + add('PATH','root must be normalized absolute path',rid);continue + root=Path(rp) + if not root.is_dir(): + add('FILE_MISSING','root directory missing',rid);continue + if any(p.is_symlink() for p in [root,*root.parents]): + add('PATH_SYMLINK','root or ancestor is a symlink',rid);continue + real=root.resolve() + if any(real==other or real.is_relative_to(other) or other.is_relative_to(real) for other in root_realpaths): + add('PATH','overlapping/aliased roots are forbidden',rid);continue + root_realpaths.append(real);roots[rid]=r + tracked, files=r.get('tracked_files'),r.get('files') + if not isinstance(tracked,list) or not tracked or any(not isinstance(p,str) for p in tracked) or len(set(tracked))!=len(tracked) or not isinstance(files,dict): + add('MANIFEST','nonempty unique tracked paths and file object required',rid);continue + if set(tracked)!=set(files): + add('SCOPE_CLASSIFICATION','tracked/classified path sets differ: missing='+repr(sorted(set(tracked)-set(files)))+' extra='+repr(sorted(set(files)-set(tracked))),rid) + for path in sorted(set(tracked)|set(files)): + if not normalized_path(path): + add('PATH','unsafe, nonnormalized or non-NFC file path',rid,str(path));continue + if path not in files: + continue + entry=files[path];classified_count+=1 + if not isinstance(entry,dict) or set(entry)-ENTRY_KEYS or not {'kind','sha256'}<=set(entry): + add('CLASSIFICATION','malformed classification or unknown fields',rid,path);continue + if not isinstance(entry.get('kind'),str) or entry.get('kind') not in KINDS: + add('CLASSIFICATION','unknown classification: '+str(entry.get('kind')),rid,path);continue + if set(entry)-{'kind','sha256'}-CLASS_KEYS.get(entry['kind'],set()): + add('CLASSIFICATION','fields not applicable to declared classification',rid,path) + if 'language' in entry and (not isinstance(entry['language'],str) or entry['language'] not in {'lean','python'}): + add('LANGUAGE_GAP','unsupported/nonstring language classification',rid,path);continue + if 'module' in entry and not isinstance(entry['module'],str): + add('MODULE_ALIAS','module identity must be a string',rid,path);continue + if not isinstance(entry.get('sha256'),str) or HEX.fullmatch(entry['sha256']) is None: + add('FILE_HASH','missing or malformed SHA256',rid,path) + target=root/path + record={'root':rid,'path':path,'entry':entry,'data':None};records[rid+':'+path]=record + if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)): + add('PATH_SYMLINK','symlink file/ancestor aliases are forbidden',rid,path);continue + try: + info=target.stat() + if not stat.S_ISREG(info.st_mode): + add('FILE_MISSING','not a regular file',rid,path);continue + if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH): + add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue + data=target.read_bytes() + except FileNotFoundError: + add('FILE_MISSING','declared file is absent',rid,path);continue + except OSError as exc: + add('FILE_UNREADABLE',str(exc),rid,path);continue + record['data']=data;scanned_count+=1 + if digest(data)!=entry.get('sha256'): + add('FILE_HASH','content differs from manifest pin',rid,path) + module_map=manifest.get('module_map') + if not isinstance(module_map,dict): + add('MANIFEST','module_map must be an object');module_map={} + for name, ref in module_map.items(): + if not isinstance(name,str) or not re.fullmatch(r'(lean|python):[^\s:]+',name) or not isinstance(ref,str) or ref not in records: + add('MODULE_ALIAS','module map points outside classified scope: '+str(name));continue + if records[ref]['entry'].get('kind') in {'documentation','data','binary_proof'}: + add('MODULE_ALIAS','module identity must point to actual classified source: '+name) + if records[ref]['entry'].get('module')!=name: + add('MODULE_ALIAS','module map alias does not equal target declared identity: '+name) + for ref, record in records.items(): + rid,path,entry=record['root'],record['path'],record['entry'] + owner=(rid,path);kind=entry['kind'];data=record['data'];suffix=Path(path).suffix.lower() + language=entry.get('language') + if kind=='project_lean': language='lean' + if kind in {'math_python','engineering_python'}: language='python' + source_like=suffix in SOURCE_EXTENSIONS or path.lower().endswith(('.lean.txt','.py.txt','.sh.txt','.js.txt','.mjs.txt')) + if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS): + add('SOURCE_CLASSIFICATION','source/proof object cannot be relabeled documentation/data',rid,path) + if kind=='binary_proof' and source_like: + add('SOURCE_CLASSIFICATION','source cannot be relabeled binary proof',rid,path) + if kind in {'project_lean','math_python','engineering_python'} and suffix not in ({'.lean'} if language=='lean' else {'.py','.pyi'}): + add('SOURCE_CLASSIFICATION','source kind does not match extension',rid,path) + if (kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)) and language not in {'lean','python'}: + add('LANGUAGE_GAP','source needs supported explicit lean/python classification',rid,path) + expected_language='lean' if path.lower().endswith(('.lean','.lean.txt')) else 'python' if path.lower().endswith(('.py','.pyi','.py.txt')) else None + if source_like and expected_language is None: + add('LANGUAGE_GAP','known source extension has no supported checker',rid,path) + if expected_language is not None and language is not None and language!=expected_language: + add('SOURCE_CLASSIFICATION','declared language disagrees with source extension',rid,path) + if language is not None and language not in {'lean','python'}: + add('LANGUAGE_GAP','unsupported language classification',rid,path) + if kind in RETAINED and (not isinstance(entry.get('expected_findings'),dict) or any(not isinstance(k,str) or type(v) is not int or v<1 for k,v in entry.get('expected_findings',{}).items())): + add('RETAINED_FINDING_MISMATCH','exact positive finding-count map required',rid,path) + if kind=='negative_fixture' and not nonempty(entry.get('fixture_purpose')): + add('NEGATIVE_FIXTURE','retained test purpose required',rid,path) + if kind=='quarantined_source': + q=entry.get('quarantine') + if not isinstance(q,dict) or set(q)!={'id','boundary','blocking_reason','owner','maintenance'} or any(not nonempty(q.get(k)) for k in ['id','boundary','blocking_reason']) or q.get('owner')!='none' or q.get('maintenance')!='zero': + add('QUARANTINE','exact id/boundary/blocking reason and terminal owner:none maintenance:zero required',rid,path) + if kind=='external_pinned' or 'pin' in entry: + pin=entry.get('pin') + if not isinstance(pin,dict) or set(pin)!={'revision','origin'} or not nonempty(pin.get('origin')) or not isinstance(pin.get('revision'),str) or re.fullmatch(r'[0-9a-f]{40}|[0-9a-f]{64}',pin['revision']) is None: + add('EXTERNAL_PIN','immutable 40/64 hex revision and nonempty origin required',rid,path) + if kind=='engineering_python': + review=binding(entry.get('nonmath_review'),owner,'nonmathematical review') + if not isinstance(review,dict) or set(review)!={'type','source_sha256','scope','reviewer','rationale'} or review.get('type')!='nonmathematical_review' or review.get('scope')!='nonmathematical_execution_only' or review.get('source_sha256')!=entry['sha256'] or not nonempty(review.get('reviewer')) or not nonempty(review.get('rationale')): + add('NONMATH_REVIEW','explicit hash-bound reviewed nonmathematical scope required',rid,path) + if kind=='binary_proof' or suffix in BINARY_EXTENSIONS: + bs=entry.get('bindings') + if not isinstance(bs,dict) or set(bs)!={'G2','G4'}: + add('BINARY_BINDING','binary proof requires exact G2/G4 bindings',rid,path) + else: + for gate,value in bs.items(): + proof=binding(value,owner,gate+' binary proof evidence') + if not isinstance(proof,dict) or proof.get('type')!='kernel_evidence' or proof.get('gate')!=gate or proof.get('subject_sha256')!=entry['sha256'] or proof.get('observed_status')!='PASS' or type(proof.get('exit_code')) is not int or proof.get('exit_code')!=0 or not isinstance(proof.get('command'),list) or not proof['command'] or not nonempty(proof.get('run_id')): + add('BINARY_BINDING','missing/stale/nonpassing '+gate+' subject evidence',rid,path) + if data is None: + continue + text=None + if kind!='binary_proof' and suffix not in BINARY_EXTENSIONS: + try: + text=data.decode('utf-8') + except UnicodeError: + add('FILE_ENCODING','nonbinary classified file is not strict UTF-8',rid,path);continue + if language in {'lean','python'}: + if text is None: + add('SOURCE_CLASSIFICATION','binary object cannot be declared Lean/Python source',rid,path);continue + module=entry.get('module') + if not isinstance(module,str) or not module.startswith(language+':') or module_map.get(module)!=ref: + add('MODULE_ALIAS','source module must have one exact registered identity',rid,path) + result=check_lean(text) if language=='lean' else check_python(text, kind!='engineering_python') + source_results[ref]=result + raw_findings=list(result['findings']) + if kind in RETAINED: + actual=dict(Counter(f['code'] for f in raw_findings)) + if actual!=entry.get('expected_findings'): + add('RETAINED_FINDING_MISMATCH','expected '+repr(entry.get('expected_findings'))+' actual '+repr(actual),rid,path) + for f in raw_findings: + retained_findings.append({'root':rid,'path':path,**f}) + else: + for f in raw_findings: + add(f['code'],f['detail'],rid,path,f['line']) + graph[ref]=[] + for imported in result['imports']: + if language=='python' and imported=='fractions' and kind=='math_python' and 'python:fractions' not in module_map: + continue # Explicit exact-arithmetic trust profile; G7 binds runtime/stdlib. + target=module_map.get(language+':'+imported) + if target not in records: + add('IMPORT_UNRESOLVED','unknown/unsupported dependency '+language+':'+imported,rid,path) + else: + graph[ref].append(target) + if kind=='math_python' and records[target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only source '+target,rid,path) + if language=='python': + parts=imported.split('.') + for i in range(1,len(parts)): + prefix=module_map.get('python:'+'.'.join(parts[:i])) + if prefix in records: + graph[ref].append(prefix) + if kind=='math_python' and records[prefix]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only package prefix '+prefix,rid,path) + for candidate in result.get('import_candidates',[]): + candidate_target=module_map.get('python:'+candidate) + if candidate_target in records: + graph[ref].append(candidate_target) + if kind=='math_python' and records[candidate_target]['entry']['kind']=='engineering_python': + add('MATH_DEPENDENCY_GAP','mathematical code cannot acquire values from nonmathematical-only candidate '+candidate_target,rid,path) + if language=='lean' and kind not in RETAINED: + annotations=entry.get('vacuity') + declarations=result['declarations'] + keys=[d['key'] for d in declarations] + if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys): + add('VACUITY_COVERAGE','annotation keys must exactly cover theorem/lemma/example source locations',rid,path) + annotations=annotations if isinstance(annotations,dict) else {} + for declaration in declarations: + key=declaration['key'];a=annotations.get(key) + if not isinstance(a,dict) or not isinstance(a.get('status'),str) or a.get('status') not in {'conditional','nonvacuous','vacuous'} or not nonempty(a.get('reason')): + add('VACUITY_ANNOTATION','required status/reason for '+key,rid,path,declaration['line']);continue + if set(a)-{'status','reason','premises','evidence'}: + add('VACUITY_ANNOTATION','unknown annotation keys for '+key,rid,path,declaration['line']) + if a['status']=='conditional' and (not isinstance(a.get('premises'),list) or any(not nonempty(p) for p in a['premises'])): + add('VACUITY_ANNOTATION','explicit premises list required for '+key,rid,path,declaration['line']) + if declaration['contradictions'] and a['status']!='vacuous': + add('VACUITY_CONTRADICTION','syntactic contradiction candidates require vacuous: '+key+': '+repr(declaration['contradictions']),rid,path,declaration['line']) + if a['status']=='nonvacuous': + certificate=binding(a.get('evidence'),owner,'nonvacuity certificate '+key) + if not isinstance(certificate,dict) or certificate.get('type')!='nonvacuity_certificate' or certificate.get('subject_sha256')!=entry['sha256'] or certificate.get('declaration')!=key or not nonempty(certificate.get('witness_description')): + add('VACUITY_EVIDENCE','content-bound nonvacuity witness certificate required for '+key,rid,path,declaration['line']) + observations.append({'root':rid,'path':path,'declaration':key,'status':a['status'],'contradiction_candidates':declaration['contradictions']}) + if 'status_evidence' in entry: + if entry['status_evidence'] is not True: + add('STATUS_EVIDENCE','status_evidence must be true, never disable/skip',rid,path) + try: + s=strict_json(text) + except (ValueError,TypeError,RecursionError) as exc: + add('STATUS_EVIDENCE','invalid status JSON: '+str(exc),rid,path);continue + required={'schema_version','gate','observed_status','run_id','command','exit_code','inputs'} + if not isinstance(s,dict) or not required<=set(s) or set(s)-required-{'evidence'} or type(s.get('schema_version')) is not int or s.get('schema_version')!=1 or not isinstance(s.get('gate'),str) or s.get('gate') not in {'G'+str(i) for i in range(12)} or not isinstance(s.get('observed_status'),str) or s.get('observed_status') not in {'PASS','FAIL','NOT_RUN','ERROR','INACCESSIBLE'} or not nonempty(s.get('run_id')) or not isinstance(s.get('command'),list) or not s['command'] or any(not nonempty(c) for c in s['command']) or not isinstance(s.get('inputs'),dict) or not s['inputs']: + add('STATUS_EVIDENCE','invalid exact observed status schema',rid,path);continue + for input_ref,value in s['inputs'].items(): + target=records.get(input_ref) + if target is None or value!=target['entry'].get('sha256') or target['data'] is None or digest(target['data'])!=value: + add('STATUS_EVIDENCE','status input missing/stale: '+input_ref,rid,path) + if s['observed_status']=='NOT_RUN': + if s['exit_code'] is not None or 'evidence' in s: + add('STATUS_EVIDENCE','NOT_RUN cannot carry execution exit/evidence',rid,path) + else: + evidence=binding(s.get('evidence'),owner,'observed status receipt') + comparable={k:v for k,v in s.items() if k!='evidence'} + if json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':')) or type(s['exit_code']) is not int or (s['observed_status']=='PASS' and s['exit_code']!=0) or (s['observed_status']=='FAIL' and s['exit_code']==0): + add('STATUS_EVIDENCE','status differs from bound observed execution receipt',rid,path) + for start in sorted(graph): + if records[start]['entry']['kind'] in RETAINED: + continue + seen,pending=set(),list(graph[start]) + while pending: + target=pending.pop() + if target in seen: + continue + seen.add(target) + if records[target]['entry']['kind'] in RETAINED: + add('QUARANTINE_IMPORT','closed source depends on isolated source '+target,records[start]['root'],records[start]['path']) + pending.extend(graph.get(target,[])) + findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + retained_findings.sort(key=lambda f:(f['root'],f['path'],f['line'],f['code'],f['detail'])) + manifest_bytes=json.dumps(manifest,sort_keys=True,separators=(',',':'),ensure_ascii=False).encode() + inventories={rid:digest(json.dumps(sorted(r['tracked_files']),ensure_ascii=False,separators=(',',':')).encode()) for rid,r in roots.items() if isinstance(r.get('tracked_files'),list) and all(isinstance(p,str) for p in r['tracked_files'])} + obligations=[{'gate':g,'required_work':work} for g,work in [ + ('G2','All elaborated owned declarations, private/generated/import-expanded declarations included; approved imported axioms exactly propext/Classical.choice/Quot.sound.'), + ('G3','Actual Lean build and no sorry warnings; source scanning does not execute Lean.'), + ('G4','Kernel recheck every closed declaration and all bound binary proof objects.'), + ('G5','Execute retained regression tests; source profile does not establish runtime success or historical test retention.'), + ('G7','Authenticate immutable dependency revisions and Python exact-runtime/fractions implementation; verify cross-repository consistency.'), + ('G8','Authenticate command receipts, review/certificate content, semantic status truth, statement nonvacuity and historical bound strength.'), + ('G10','Authenticate full final tracked-file inventory and actual immutable tree identifiers; scanner does not run Git.')]] + return {'schema_version':1,'result':'STATIC_PASS' if not findings else 'FAIL','claim':'bounded static rules only; not CBZ-0 or mathematical proof closure', + 'manifest_sha256':digest(manifest_bytes),'inventory_sha256':inventories,'classified_count':classified_count, + 'scanned_count':scanned_count,'retained_count':len(retained_findings),'findings':findings, + 'fatal_gaps':[f for f in findings if f['code'].endswith('_GAP') or f['code'] in {'MANIFEST','SCOPE_CLASSIFICATION','CLASSIFICATION','FILE_MISSING','FILE_UNREADABLE','IMPORT_UNRESOLVED','EVIDENCE_BINDING'}], + 'retained_findings':retained_findings,'vacuity_observations':observations,'remaining_obligations':obligations, + 'files':[{'root':r['root'],'path':r['path'],'kind':r['entry']['kind'],'expected_sha256':r['entry']['sha256'],'actual_sha256':digest(r['data']) if r['data'] is not None else None} for _,r in sorted(records.items())]} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + sub=parser.add_subparsers(dest='command',required=True) + p=sub.add_parser('audit',help='audit exact controller-supplied tracked scope') + p.add_argument('--manifest',required=True,type=Path) + p.add_argument('--output',type=Path,help='also write deterministic report JSON') + args=parser.parse_args(argv) + try: + raw=args.manifest.read_bytes() + manifest=strict_json(raw.decode('utf-8')) + report=audit(manifest) + report['manifest_file_sha256']=digest(raw) + code=0 if report['result']=='STATIC_PASS' else 1 + except (OSError,ValueError,UnicodeError,RecursionError) as exc: + report={'schema_version':1,'result':'INPUT_ERROR','findings':[{'code':'INPUT','detail':str(exc)}]};code=2 + encoded=json.dumps(report,sort_keys=True,indent=2,ensure_ascii=False)+'\n' + if args.output: + try: + args.output.write_text(encoded,encoding='utf-8') + except OSError as exc: + report={'schema_version':1,'result':'OUTPUT_ERROR','findings':[{'code':'OUTPUT','detail':str(exc)}]} + encoded=json.dumps(report,sort_keys=True,indent=2)+'\n';code=3 + sys.stdout.write(encoded) + return code + + +if __name__=='__main__': + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/mutation_test.py b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/mutation_test.py new file mode 100644 index 000000000..949ba8593 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/mutation_test.py @@ -0,0 +1,477 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('restore-augmented-division-gap', 'source_checks.py', 'if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div):', 'if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):'), + ('restore-augmented-power-gap', 'source_checks.py', 'if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow):', 'if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):'), + ('restore-python-candidate-nonmath-gap', 'auditor.py', "if kind=='math_python' and records[candidate_target]['entry']['kind']=='engineering_python':", 'if False:'), + ('restore-python-prefix-nonmath-gap', 'auditor.py', "if kind=='math_python' and records[prefix]['entry']['kind']=='engineering_python':", 'if False:'), + ('restore-null-status-evidence-skip', 'auditor.py', "if 'status_evidence' in entry:", "if entry.get('status_evidence') is not None:"), + ('restore-es-module-extension-gap', 'auditor.py', "'.js','.mjs','.ts'", "'.js','.ts'"), + ('restore-es-module-text-wrapper-gap', 'auditor.py', "'.sh.txt','.js.txt','.mjs.txt'", "'.sh.txt','.js.txt'"), + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if 'status_evidence' in entry:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,selected,invalid=inspect_test_population(suite) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + setattr(test,method,body) + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=unittest.TextTestRunner(stream=stream,verbosity=2,resultclass=PhaseResult).run(suite) + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=unittest.TestLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/source_checks.py b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/source_checks.py new file mode 100644 index 000000000..cf6f71389 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/source_checks.py @@ -0,0 +1,330 @@ +"""Bounded lexical/AST checks. See SPEC.md for claims, trust profile and nonclaims.""" +import ast +from dataclasses import dataclass +import re + +from canonical_lean import (lex_tokens as canonical_identifier_tokens, + _CHAR_LIT as canonical_character_literal, + _NUMERAL as canonical_numeral_spelling) + + +@dataclass(frozen=True) +class Token: + text: str + line: int + column: int + quoted: bool = False + + +def finding(code, detail, line=0): + return {'code': code, 'detail': detail, 'line': line} + + +def lean_tokens(text): + """Tokenize source without interpreting syntax, retaining accurate source locations.""" + tokens, gaps = [], [] + i, line, column, n = 0, 1, 0, len(text) + + def advance(end): + nonlocal i, line, column + segment = text[i:end] + count = segment.count('\n') + column = len(segment.rsplit('\n', 1)[-1]) if count else column + len(segment) + line += count + i = end + + def error(detail): + gaps.append(finding('LEAN_LEXICAL_GAP', detail, line)) + + def literal(): + tokens.append(Token('', line, column)) + + while i < n: + c = text[i] + if c.isspace(): + advance(i + 1) + elif text.startswith('--', i): + end = text.find('\n', i + 2) + advance(n if end < 0 else end) + elif text.startswith('/-', i): + j, depth = i + 2, 1 + while j < n and depth: + if text.startswith('/-', j): + depth += 1; j += 2 + elif text.startswith('-/', j): + depth -= 1; j += 2 + else: + j += 1 + if depth: + error('unterminated nested block comment') + advance(j) + elif (raw := re.match(r'r(#+)?"', text[i:])) is not None: + literal() + marker = '"' + (raw.group(1) or '') + end = text.find(marker, i + raw.end()) + if end < 0: + error('unterminated raw string literal'); advance(n) + else: + advance(end + len(marker)) + elif c == '"': + literal() + if i > 0 and text[i - 1] == '!': + error('interpolated string can contain executable terms; requires elaborated certification') + j = i + 1 + while j < n: + if text[j] == '\\': + j += 2 + elif text[j] == '"': + break + else: + j += 1 + if j >= n: + error('unterminated string literal'); advance(n) + else: + advance(j + 1) + elif c == '«': + end = text.find('»', i + 1) + if end < 0: + error('unterminated escaped identifier'); advance(n) + else: + tokens.append(Token(text[i + 1:end], line, column, True)); advance(end + 1) + elif c == "'": + match = canonical_character_literal.match(text, i) + if match is not None: + literal() + advance(match.end()) + else: + error('unsupported or unterminated character literal'); advance(i + 1) + elif c.isdigit(): + # Preserve the canonical numeral boundary: valid Lean permits a + # numeral immediately before a declaration keyword (0theorem). + # Keep spelling/location for literal-hypothesis checks; no numeric + # evaluation or independent numeral grammar is introduced here. + match = canonical_numeral_spelling.match(text, i) + end = match.end() if match is not None else i + 1 + tokens.append(Token(text[i:end], line, column)); advance(end) + elif c.isalpha() or c == '_': + j = i + 1 + while j < n and (text[j].isalnum() or text[j] in "_'!?" or (text[j] == '.' and j + 1 < n and (text[j + 1].isalpha() or text[j + 1] == '_'))): + j += 1 + tokens.append(Token(text[i:j], line, column)); advance(j) + else: + pair = text[i:i + 2] + if pair in {':=', '=>', '->', '<=', '>=', '!=', '==', '<-'}: + tokens.append(Token(pair, line, column)); advance(i + 2) + else: + tokens.append(Token(c, line, column)); advance(i + 1) + return tokens, gaps + + +def _contradictions(header): + """Detect only declared source shapes; this does not interpret Lean propositions.""" + hypotheses = [] + stack = [] + for i, t in enumerate(header): + if t in {'(', '{', '['}: + stack.append((i, t)) + elif t in {')', '}', ']'} and stack: + start, opening = stack.pop() + interior = header[start + 1:i] + depth, colon = 0, None + for j, word in enumerate(interior): + if word in {'(', '{', '['}: depth += 1 + if word in {')', '}', ']'}: depth -= 1 + if word == ':' and depth == 0: + colon = j; break + if colon is not None: + hypotheses.append(tuple(interior[colon + 1:])) + for i, t in enumerate(header[:-1]): + if t == 'False' and header[i + 1] in {'→', '->'}: + hypotheses.append(('False',)) + candidates = [] + for h in hypotheses: + if h in {('False',), ('Not', 'True'), ('¬', 'True')}: + candidates.append('explicit false hypothesis: ' + ' '.join(h)) + if len(h) == 3 and h[0] == h[2] and h[1] in {'<', '≠', '!='}: + candidates.append('self-strict/disequality hypothesis: ' + ' '.join(h)) + if len(h) == 3 and re.fullmatch(r'[0-9]+',h[0]) and re.fullmatch(r'[0-9]+',h[2]) and h[1] == '=' and int(h[0]) != int(h[2]): + candidates.append('incompatible literal equality candidate: ' + ' '.join(h)) + positive = h[1:] if h and h[0] in {'¬', 'Not'} else None + if positive and positive in hypotheses: + candidates.append('opposing hypotheses: ' + ' '.join(positive)) + return sorted(set(candidates)), [' '.join(h) for h in hypotheses] + + +def check_lean(text): + tokens, findings = lean_tokens(text) + imports, declarations = [], [] + placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'} + native = {'native_decide', 'native', 'ofReduceBool', 'ofReduceNat', 'ofReduceInt', 'trustCompiler', 'skipKernelTC'} + kernel_bypass = {'addDeclWithoutChecking'} + expansion = {'macro', 'macro_rules', 'elab', 'elab_rules', 'syntax', 'unsafe', 'run_elab', 'initialize', 'builtin_initialize', 'implemented_by', 'extern'} + hazards = [] + lexical_errors = [] + for metadata in canonical_identifier_tokens(text, lexical_errors): + if not isinstance(metadata, tuple) or len(metadata) != 7: + findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape')) + continue + raw_name, line, column, first, plus_before, following, field_before = metadata + # The stricter hazard rules inspect every identifier; native is refused + # regardless of the canonical classifier's seventh field/context hint. + parts = raw_name.split('.') + quoted = parts[-1].startswith('\x00') + name = '.'.join(part.removeprefix('\x00').replace('\x01', '.') for part in parts) + hazards.append(Token(name, line, column - 1, quoted)) + for line, column, kind in dict.fromkeys(lexical_errors): + findings.append(finding('LEAN_LEXICAL_GAP', 'canonical lexer: ' + kind, line)) + for token in hazards: + word = token.text + tail = word.rsplit('.', 1)[-1] + if tail in placeholders and (not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}): + findings.append(finding('LEAN_PLACEHOLDER', word, token.line)) + if tail in {'axiom', 'constant', 'constants'}: + findings.append(finding('LEAN_AXIOM', 'owned/new axiom declaration or reference requires refusal: ' + word, token.line)) + if tail in native: + findings.append(finding('LEAN_NATIVE', 'compiler/native trust escape: ' + word, token.line)) + if tail in kernel_bypass: + findings.append(finding('LEAN_KERNEL_BYPASS', 'unchecked environment declaration insertion: ' + word, token.line)) + if tail in expansion: + findings.append(finding('LEAN_EXPANSION_GAP', 'requires G2/G4 expanded environment certificate: ' + word, token.line)) + if tail in {'Float','Float32'}: + findings.append(finding('LEAN_FLOAT_REVIEW_GAP', 'floating-point use requires a relevant exact mathematical/nonmathematical certificate', token.line)) + for i, token in enumerate(tokens): + word = token.text + if word == 'import': + j = i + 1 + while j < len(tokens): + t = tokens[j] + if t.line > token.line and t.column == 0: + break + if t.quoted or not re.fullmatch(r"[^\W\d][\w'!?]*(?:\.[^\W\d][\w'!?]*)*", t.text, re.UNICODE): + findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line)) + break + imports.append(t.text); j += 1 + if j == i + 1: + findings.append(finding('LEAN_IMPORT_GAP', 'missing or unsupported import syntax', token.line)) + if word in {'theorem', 'lemma', 'example'}: + if word == 'example': + name, j = 'example', i + 1 + else: + if i + 1 >= len(tokens): + findings.append(finding('LEAN_DECLARATION_GAP', 'missing declaration name', token.line)); continue + name, j = tokens[i + 1].text, i + 2 + header, depth = [], 0 + while j < len(tokens): + t = tokens[j].text + if depth == 0 and t in {':=', 'where'}: + break + if depth == 0 and t in {'theorem', 'lemma', 'example'}: + break + if t in {'(', '{', '['}: depth += 1 + if t in {')', '}', ']'}: depth -= 1 + header.append(t); j += 1 + if j == len(tokens) or depth != 0: + findings.append(finding('LEAN_DECLARATION_GAP', 'unsupported/incomplete theorem header', token.line)) + contradictions, hypotheses = _contradictions(header) + declarations.append({'key': name + '@' + str(token.line), 'line': token.line, + 'contradictions': contradictions, 'hypotheses': hypotheses}) + return {'findings': findings, 'imports': imports, 'declarations': declarations} + + +EXACT_BUILTINS = frozenset({'abs', 'all', 'any', 'bool', 'dict', 'enumerate', 'int', 'len', 'list', 'max', + 'min', 'range', 'reversed', 'set', 'sorted', 'sum', 'tuple', 'zip', 'frozenset'}) +ALLOWED_AST = frozenset({ + 'Module','ImportFrom','alias','FunctionDef','arguments','arg','Return','Assign','AnnAssign','AugAssign', + 'Expr','Constant','Name','Load','Store','Del','List','Tuple','Set','Dict','Subscript','Slice', + 'BinOp','UnaryOp','BoolOp','Compare','If','IfExp','For','Break','Continue','Pass','Assert', + 'ListComp','SetComp','DictComp','GeneratorExp','comprehension','Call','keyword','Attribute', + 'Add','Sub','Mult','FloorDiv','Mod','Pow','USub','UAdd','Not','Invert','And','Or', + 'Eq','NotEq','Lt','LtE','Gt','GtE','Is','IsNot','In','NotIn','BitAnd','BitOr','BitXor','LShift','RShift', + 'Div','Import', 'Lambda', 'ClassDef', 'AsyncFunctionDef', +}) + + +def check_python(text, mathematical=True): + findings, imports, import_candidates = [], [], [] + try: + tree = ast.parse(text) + except (SyntaxError, ValueError, RecursionError) as exc: + return {'findings': [finding('PY_SYNTAX', str(exc), getattr(exc, 'lineno', 0) or 0)], 'imports': []} + aliases = {'Fraction'} + local_functions = {n.name for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)} + dynamic_aliases = {'__import__', 'eval', 'exec', 'compile', 'globals', 'locals', '__builtins__', 'vars', 'getattr', 'setattr', 'delattr'} + for node in ast.walk(tree): + if isinstance(node, ast.Import): + for alias in node.names: + imports.append(alias.name) + if alias.name in {'importlib', 'builtins'}: + dynamic_aliases.add(alias.asname or alias.name) + elif isinstance(node, ast.ImportFrom): + name = '.' * node.level + (node.module or '') + imports.append(name) + import_candidates.extend(name + '.' + alias.name for alias in node.names if alias.name != '*') + if node.module == 'fractions' and node.level == 0: + for alias in node.names: + if alias.name == 'Fraction': + aliases.add(alias.asname or alias.name) + if node.module in {'importlib', 'builtins'}: + for alias in node.names: + dynamic_aliases.add(alias.asname or alias.name) + allowed_calls = EXACT_BUILTINS | aliases | local_functions + protected = EXACT_BUILTINS | aliases | local_functions | {'__builtins__'} + for node in ast.walk(tree): + line = getattr(node, 'lineno', 0) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in dynamic_aliases: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic executor/importer name requires dependency certifier: ' + node.id, line)) + if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}: + findings.append(finding('PY_DYNAMIC_IMPORT', 'reflective loader entrypoint requires dependency certifier: ' + node.attr, line)) + if isinstance(node, ast.ImportFrom) and (node.level or any(a.name == '*' for a in node.names)): + findings.append(finding('PY_IMPORT_GAP', 'relative/star import requires explicit dependency certifier', line)) + if isinstance(node, ast.Call): + name = node.func.id if isinstance(node.func, ast.Name) else None + dynamic = (name in dynamic_aliases or + isinstance(node.func, ast.Attribute) and + (node.func.attr in {'import_module','__import__','exec_module','load_module','find_spec','spec_from_file_location'} or + isinstance(node.func.value, ast.Name) and node.func.value.id in dynamic_aliases)) + if dynamic: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic execution/loading cannot establish closed dependency boundary', line)) + if not mathematical: + continue + name = type(node).__name__ + if name not in ALLOWED_AST or isinstance(node, (ast.Lambda, ast.ClassDef, ast.AsyncFunctionDef)): + findings.append(finding('PY_AST_GAP', 'unsupported exact-program AST node: ' + name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in {'float','complex','__builtins__'}: + findings.append(finding('PY_INEXACT', 'inexact/reflective value can escape through callbacks: ' + node.id, line)) + if isinstance(node, ast.alias) and node.asname in EXACT_BUILTINS: + findings.append(finding('PY_REBIND', 'import shadows exact builtin: ' + node.asname, line)) + if isinstance(node, ast.FunctionDef): + if node.decorator_list: + findings.append(finding('PY_AST_GAP', 'decorators can replace exact functions', line)) + if node.name in EXACT_BUILTINS | aliases | {'__builtins__'}: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.id, line)) + if isinstance(node, ast.arg) and node.arg in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic parameter: ' + node.arg, line)) + if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)): + findings.append(finding('PY_INEXACT', 'float/complex literal forbidden in mathematical program', line)) + if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div): + findings.append(finding('PY_INEXACT', '/ may produce float; use Fraction(n,d)', line)) + if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow): + exponent = node.right if isinstance(node, ast.BinOp) else node.value + if not (isinstance(exponent, ast.Constant) and type(exponent.value) is int and exponent.value >= 0): + findings.append(finding('PY_INEXACT', '** requires nonnegative integer literal exponent', line)) + if isinstance(node, ast.Import): + findings.append(finding('PY_IMPORT_GAP', 'only from fractions import Fraction [as alias] is in the exact profile', line)) + if isinstance(node, ast.ImportFrom): + if node.module != 'fractions' or node.level or any(a.name != 'Fraction' for a in node.names): + findings.append(finding('PY_IMPORT_GAP', 'import outside exact fractions profile', line)) + if isinstance(node, ast.Call): + if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls: + findings.append(finding('PY_CALL_GAP', 'call is not a statically named exact builtin/Fraction/local function', line)) + if any(k.arg is None for k in node.keywords) or any(isinstance(a, ast.Starred) for a in node.args): + findings.append(finding('PY_CALL_GAP', 'dynamic argument expansion is outside exact profile', line)) + if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}: + findings.append(finding('PY_ATTRIBUTE_GAP', 'only exact numerator/denominator reads are supported', line)) + if isinstance(node, ast.Attribute) and not isinstance(node.ctx, ast.Load): + findings.append(finding('PY_ATTRIBUTE_GAP', 'attribute mutation is outside exact profile', line)) + if isinstance(node, ast.comprehension) and node.is_async: + findings.append(finding('PY_AST_GAP', 'async comprehension is outside exact profile', line)) + return {'findings': findings, 'imports': sorted(set(imports)), 'import_candidates': sorted(set(import_candidates))} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/tests/test_auditor.py b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/tests/test_auditor.py new file mode 100644 index 000000000..b1fd13af0 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/pre-notebook-source/tests/test_auditor.py @@ -0,0 +1,839 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_canonical_metadata_and_error_channels_fail_closed(self): + from unittest.mock import patch + with patch.object(source_checks, 'canonical_identifier_tokens', return_value=iter([('x', 1, 1, False, False, '')])): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + def failed_lexing(text, errors): + errors.append((1, 1, 'unsupported canonical lexical region')) + return iter(()) + with patch.object(source_checks, 'canonical_identifier_tokens', failed_lexing): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + + def test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens(self): + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) + self.assertEqual(self.lean_codes('def n := 0x0a\ndef f := 1.0e+1\n'), set()) + + def test_nested_string_placeholder_and_benign_literal_boundaries(self): + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) + self.assertEqual(self.lean_codes('def s := "brace { harmless } and \\"quoted\\""\n'), set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_defined_reflective_loader_forms_fail_in_engineering_scope(self): + cases=["getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')", + "vars()['__builtins__']['__import__']('Q.bad')", + "f.__globals__['__builtins__']['__import__']('Q.bad')", + "().__class__.__base__.__subclasses__()"] + for source in cases: + with self.subTest(source=source): + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) + + def test_import_module_primes_and_identifier_suffixes_are_extracted_completely(self): + result=source_checks.check_lean("import Good Q.Bad' Q.Other! Q.Last?\n") + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) + self.assertEqual(result['findings'],[]) + + def test_unsupported_import_tail_is_a_gap_after_a_valid_prefix(self): + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good Q.«Bad»\n')) + + def test_literal_import_operands_are_explicit_gaps_after_valid_prefix(self): + for operand in ['"Q.Bad"', 'r"Q.Bad"', "'q'"]: + with self.subTest(operand=operand): + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_numeral_adjoining_owned_axiom_cannot_receive_static_pass(self): + # Canonical698's already compiled counterexample; old numeric lexing hides axiom. + source = 'def harmless := 0axiom hiddenPremise : False\ntheorem bad : False := hiddenPremise\n#print axioms bad\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', + vacuity={'bad@2':{'status':'conditional','premises':[], + 'reason':'source statement only; not a witness claim'}}) + result = self.runaudit() + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass(self): + # Lean is a benign mapped import fixture; actual compilation evidence is reused. + self.add('Lean.lean', 'def imported := 1\n', 'project_lean', module='lean:Lean', vacuity={}) + source = 'import Lean\nopen Lean\n\ndef f : CoreM Unit := throwError "bad {let x := "safe"; (sorry : Nat)}"\n#print axioms f\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', vacuity={}) + result = self.runaudit() + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_bound_engineering_review_cannot_waive_defined_reflective_loader(self): + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-r','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py',"getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')",'engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'A nonmath review is not an import-isolation waiver'})) + e['nonmath_review']=self.bind('review.json') + r=self.runaudit() + self.assertEqual(r['result'],'FAIL',r) + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) + + def test_known_unsupported_source_suffix_cannot_claim_a_supported_language(self): + for path,language,text in [('bad.sh','lean','echo hello\n'),('bad.js','python','x=1\n')]: + with self.subTest(path=path): + self.add(path,text,'external_pinned',language=language,module=language+':Bad'+language, + **({'vacuity':{}} if language=='lean' else {}),pin={'revision':'a'*40,'origin':'fixture'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_retained_text_source_requires_language_then_a_registered_module(self): + e=self.add('Q.txt','theorem t : False := by sorry\n','quarantined_source',expected_findings={}, + quarantine={'id':'Q-t','boundary':'Q.txt','blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + e['language']='lean';e['expected_findings']={'LEAN_PLACEHOLDER':1} + self.assertIn('MODULE_ALIAS',self.codes()) + e['module']='lean:Q';self.m['module_map']['lean:Q']='r:Q.txt' + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_mapped_external_text_module_cannot_skip_supported_source_analysis(self): + self.add('fake.txt','Fraction=float','external_pinned',module='python:fractions', + pin={'revision':'a'*40,'origin':'fixture'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_primed_lean_module_after_valid_import_cannot_hide_quarantine(self): + self.add('Good.lean','def x := 1\n','project_lean',module='lean:Good',vacuity={}) + self.add("Q/Bad'.lean",'theorem t : False := by sorry\n','quarantined_source',language='lean',module="lean:Q.Bad'", + expected_findings={'LEAN_PLACEHOLDER':1},quarantine={'id':'Q-p','boundary':"Q/Bad'.lean",'blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.add('Closed.lean',"import Good Q.Bad'\n",'project_lean',module='lean:Closed',vacuity={}) + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_status_observation_binding_distinguishes_json_booleans_and_integers(self): + self.add('input.txt','input') + observed={'schema_version':True,'gate':'G5','observed_status':'PASS','run_id':'run-typed', + 'command':['fixture'],'exit_code':False,'inputs':{'r:input.txt':sha(b'input')}} + self.add('observation.json',json.dumps(observed),'data') + status={**observed,'schema_version':1,'exit_code':0,'evidence':self.bind('observation.json')} + self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + + + +class NumericDeclarationRules(unittest.TestCase): + """Numerals cannot suppress declaration/vacuity metadata (A6/A7).""" + + def manifest_entry(self, source, vacuity): + directory = tempfile.TemporaryDirectory() + self.addCleanup(directory.cleanup) + root = Path(directory.name) + data = source.encode('utf-8') + (root / 'Closed.lean').write_bytes(data) + return {'schema_version': 1, + 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], + 'roots': [{'id': 'r', 'path': str(root), 'tree_id': 'b' * 40, + 'tracked_files': ['Closed.lean'], + 'files': {'Closed.lean': {'kind': 'project_lean', + 'sha256': sha(data), 'module': 'lean:Closed', + 'vacuity': vacuity}}}], + 'module_map': {'lean:Closed': 'r:Closed.lean'}} + + def test_numeric_spellings_preserve_adjacent_named_declarations(self): + spellings = ['0', '1_000', '0b0', '0B1', '0o0', '0O7', + '0x0a', '0XAB', '1e1', '1E-1', '1.0E+1', '1.0', '1.'] + for numeral in spellings: + for keyword in ['theorem', 'lemma']: + source = 'def n := ' + numeral + keyword + ' hidden (h : False) : True := False.elim h' + with self.subTest(numeral=numeral, keyword=keyword): + result = source_checks.check_lean(source) + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) + self.assertEqual(result['declarations'][0]['contradictions'], + ['explicit false hypothesis: False']) + + def test_numeric_spellings_preserve_adjacent_anonymous_examples(self): + # Hexadecimal maximal munch would consume the 'e' in example. + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + declarations = source_checks.check_lean( + 'def n := ' + numeral + 'example (h : False) : True := False.elim h')['declarations'] + self.assertEqual([x['key'] for x in declarations], ['example@1']) + self.assertEqual(declarations[0]['contradictions'], ['explicit false hypothesis: False']) + + def test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage(self): + source = 'def n := 0theorem hidden (h : False) : True := False.elim h' + report = auditor.audit(self.manifest_entry(source, {})) + self.assertEqual(report['result'], 'FAIL', report) + self.assertIn('VACUITY_COVERAGE', {f['code'] for f in report['findings']}) + + def test_numeric_adjacency_cannot_mask_false_hypothesis_annotations(self): + source = 'def n := 0theorem hidden (h : False) : True := False.elim h' + annotations = {'hidden@1': {'status': 'conditional', 'premises': ['False'], 'reason': 'test boundary'}} + report = auditor.audit(self.manifest_entry(source, annotations)) + self.assertIn('VACUITY_CONTRADICTION', {f['code'] for f in report['findings']}) + report = auditor.audit(self.manifest_entry( + source, {'hidden@1': {'status': 'vacuous', 'reason': 'explicit False hypothesis'}})) + self.assertEqual(report['result'], 'STATIC_PASS', report) + self.assertEqual(len(report['vacuity_observations']), 1) + + def test_numeral_metadata_preserves_spelling_and_locations(self): + source = 'def a := 0b10\n/- gap\n nested -/ def b := 1.0E+1theorem t : True := True.intro' + tokens, gaps = source_checks.lean_tokens(source) + self.assertEqual(gaps, []) + self.assertEqual([(t.text, t.line, t.column) for t in tokens if t.text in {'0b10', '1.0E+1', 'theorem'}], + [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]) + + def test_identifier_literal_and_character_boundaries_remain_intact(self): + source = 'def name1 := 1\ndef ns.name2\' := 2\ndef «name3» := "0theorem hidden"\ndef c := \'1\'\ntheorem t2\' : True := True.intro' + result = source_checks.check_lean(source) + self.assertEqual(result['findings'], []) + self.assertEqual([x['key'] for x in result['declarations']], ["t2'@5"]) + words = [t.text for t in source_checks.lean_tokens(source)[0]] + self.assertIn('name1', words) + self.assertIn("ns.name2'", words) + self.assertIn('name3', words) + self.assertEqual(words.count(''), 2) + + def test_numeric_hypothesis_tokens_keep_exact_literal_contradictions(self): + declarations = source_checks.check_lean( + 'theorem literalConflict (h : 1 = 2) : True := True.intro')['declarations'] + self.assertEqual(declarations[0]['hypotheses'], ['1 = 2']) + self.assertEqual(declarations[0]['contradictions'], ['incompatible literal equality candidate: 1 = 2']) + + +class ReviewBoundaryRules(unittest.TestCase): + """Original review boundaries; each method targets an actual missing guard.""" + setUp = ManifestRules.setUp + add = ManifestRules.add + bind = ManifestRules.bind + runaudit = ManifestRules.runaudit + codes = ManifestRules.codes + + def engineering(self, path, text, module): + entry = self.add(path, text, 'engineering_python', module='python:' + module) + review_path = path + '.review.json' + self.add(review_path, json.dumps({'type':'nonmathematical_review', + 'source_sha256':entry['sha256'], 'scope':'nonmathematical_execution_only', + 'reviewer':'review-boundary fixture', 'rationale':'explicitly engineering only'})) + entry['nonmath_review'] = self.bind(review_path) + + def test_augmented_division_cannot_certify_float_results(self): + for source in ['x = 1\nx /= 2', 'x = 0\nx /= 1']: + with self.subTest(source=source): + result = source_checks.check_python(source) + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) + + def test_augmented_power_requires_nonnegative_integer_literal(self): + for exponent in ['-1', 'n', 'True', '1.0']: + with self.subTest(exponent=exponent): + result = source_checks.check_python('n = 2\nx = 2\nx **= ' + exponent) + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) + + def test_augmented_exact_controls_and_engineering_profile_remain_valid(self): + exact = 'x = 4\nx += 1\nx -= 1\nx *= 3\nx //= 2\nx %= 3\nx **= 2' + self.assertEqual(source_checks.check_python(exact)['findings'], []) + self.assertEqual(source_checks.check_python('x = 1\nx /= 2\nx **= -1', False)['findings'], []) + + def test_math_from_import_candidate_cannot_acquire_engineering_values(self): + self.add('fractions/__init__.py', '', 'math_python', module='python:fractions') + self.engineering('fractions/Fraction.py', 'numerator = 0.5', 'fractions.Fraction') + self.add('closed.py', 'from fractions import Fraction\nx = Fraction.numerator', + 'math_python', module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP', self.codes()) + + def test_math_import_package_prefix_requires_mathematical_scope(self): + self.engineering('fractions/__init__.py', 'numerator = 0.5', 'fractions') + self.add('fractions/sub.py', 'x = 1', 'math_python', module='python:fractions.sub') + self.add('closed.py', 'from fractions.sub import Fraction', 'math_python', module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP', self.codes()) + + def test_explicit_null_or_invalid_status_flag_cannot_disable_checks(self): + entry = self.add('status.json', '{"observed_status":"PASS"}', 'data', status_evidence=None) + for invalid in [None, False, 0, '', [], {}]: + with self.subTest(flag=invalid): + entry['status_evidence'] = invalid + self.assertIn('STATUS_EVIDENCE', self.codes()) + + def test_es_modules_cannot_be_reclassified_as_data_or_documentation(self): + for index, kind in enumerate(['data', 'documentation']): + path = 'code' + str(index) + ('.mjs' if index == 0 else '.MJS') + self.add(path, 'export const bound = 0.1;', kind) + findings = [f for f in self.runaudit()['findings'] if f['path'] == path] + self.assertIn('SOURCE_CLASSIFICATION', {f['code'] for f in findings}) + self.assertIn('LANGUAGE_GAP', {f['code'] for f in findings}) + + def test_es_module_text_wrapper_is_still_unsupported_source(self): + self.add('code.mjs.txt', 'export const bound = 0.1;', 'data') + self.assertIn('SOURCE_CLASSIFICATION', self.codes()) + self.assertIn('LANGUAGE_GAP', self.codes()) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/red-normal.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/red-normal.json new file mode 100644 index 000000000..3f1ab789f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/red-normal.json @@ -0,0 +1,202 @@ +{ + "receipt_schema": "cbz-unittest-lifecycle-v1", + "selected_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "started_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_entered_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_finished_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "body_assertion_ids": [ + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope" + ], + "assertion_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "source": "direct" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "source": "direct" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "source": "subtest" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "source": "direct" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "source": "direct" + } + ], + "invalid_population": [], + "lifecycle_failures": 0, + "subtests": 12, + "subtest_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks", + "phase": "body", + "outcome": "success" + } + ], + "failure_events": [ + { + "id": "test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values", + "phase": "body", + "kind": "assertion" + }, + { + "id": "test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope", + "phase": "body", + "kind": "assertion" + } + ], + "tests_run": 8, + "assertion_failures": 10, + "errors": 0, + "skipped": 0, + "expected_failures": 0, + "unexpected_successes": 0, + "successful": false, + "log": "test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... \n test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\\nx /= 2') ... FAIL\n test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\\nx /= 1') ... FAIL\ntest_augmented_exact_controls_and_engineering_profile_remain_valid (test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid) ... ok\ntest_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... \n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') ... FAIL\n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') ... FAIL\n test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') ... FAIL\ntest_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... FAIL\ntest_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... FAIL\ntest_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... \n test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) ... FAIL\ntest_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... FAIL\ntest_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... FAIL\n\n======================================================================\nFAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\\nx /= 2')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py\", line 791, in test_augmented_division_cannot_certify_float_results\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\\nx /= 1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py\", line 791, in test_augmented_division_cannot_certify_float_results\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True')\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py\", line 797, in test_augmented_power_requires_nonnegative_integer_literal\n self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']})\nAssertionError: 'PY_INEXACT' not found in set()\n\n======================================================================\nFAIL: test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n======================================================================\nFAIL: test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'SOURCE_CLASSIFICATION' not found in set()\n\n======================================================================\nFAIL: test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py\", line 822, in test_explicit_null_or_invalid_status_flag_cannot_disable_checks\n self.assertIn('STATUS_EVIDENCE', self.codes())\nAssertionError: 'STATUS_EVIDENCE' not found in set()\n\n======================================================================\nFAIL: test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'MATH_DEPENDENCY_GAP' not found in set()\n\n======================================================================\nFAIL: test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py\", line 282, in dispatch\n return _original(*args,**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^\nAssertionError: 'MATH_DEPENDENCY_GAP' not found in {'PY_IMPORT_GAP'}\n\n----------------------------------------------------------------------\nRan 8 tests in 0.008s\n\nFAILED (failures=10)\n" +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/red-normal.log b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/red-normal.log new file mode 100644 index 000000000..3d521f36f --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/red-normal.log @@ -0,0 +1,103 @@ +test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) ... + test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\nx /= 2') ... FAIL + test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\nx /= 1') ... FAIL +test_augmented_exact_controls_and_engineering_profile_remain_valid (test_auditor.ReviewBoundaryRules.test_augmented_exact_controls_and_engineering_profile_remain_valid) ... ok +test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) ... + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') ... FAIL + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') ... FAIL + test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') ... FAIL +test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) ... FAIL +test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) ... FAIL +test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) ... + test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) ... FAIL +test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) ... FAIL +test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) ... FAIL + +====================================================================== +FAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 1\nx /= 2') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py", line 791, in test_augmented_division_cannot_certify_float_results + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_division_cannot_certify_float_results (test_auditor.ReviewBoundaryRules.test_augmented_division_cannot_certify_float_results) (source='x = 0\nx /= 1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py", line 791, in test_augmented_division_cannot_certify_float_results + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='-1') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='n') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_augmented_power_requires_nonnegative_integer_literal (test_auditor.ReviewBoundaryRules.test_augmented_power_requires_nonnegative_integer_literal) (exponent='True') +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py", line 797, in test_augmented_power_requires_nonnegative_integer_literal + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) +AssertionError: 'PY_INEXACT' not found in set() + +====================================================================== +FAIL: test_es_module_text_wrapper_is_still_unsupported_source (test_auditor.ReviewBoundaryRules.test_es_module_text_wrapper_is_still_unsupported_source) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_es_modules_cannot_be_reclassified_as_data_or_documentation (test_auditor.ReviewBoundaryRules.test_es_modules_cannot_be_reclassified_as_data_or_documentation) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'SOURCE_CLASSIFICATION' not found in set() + +====================================================================== +FAIL: test_explicit_null_or_invalid_status_flag_cannot_disable_checks (test_auditor.ReviewBoundaryRules.test_explicit_null_or_invalid_status_flag_cannot_disable_checks) (flag=None) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/tests/test_auditor.py", line 822, in test_explicit_null_or_invalid_status_flag_cannot_disable_checks + self.assertIn('STATUS_EVIDENCE', self.codes()) +AssertionError: 'STATUS_EVIDENCE' not found in set() + +====================================================================== +FAIL: test_math_from_import_candidate_cannot_acquire_engineering_values (test_auditor.ReviewBoundaryRules.test_math_from_import_candidate_cannot_acquire_engineering_values) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'MATH_DEPENDENCY_GAP' not found in set() + +====================================================================== +FAIL: test_math_import_package_prefix_requires_mathematical_scope (test_auditor.ReviewBoundaryRules.test_math_import_package_prefix_requires_mathematical_scope) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/workspace/cbz-0/delivery/auditor-review-closure/work/mutation_test.py", line 282, in dispatch + return _original(*args,**kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^ +AssertionError: 'MATH_DEPENDENCY_GAP' not found in {'PY_IMPORT_GAP'} + +---------------------------------------------------------------------- +Ran 8 tests in 0.008s + +FAILED (failures=10) diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/AST_APPLICABILITY.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/AST_APPLICABILITY.json new file mode 100644 index 000000000..078fa0915 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/AST_APPLICABILITY.json @@ -0,0 +1,29 @@ +{ + "check": "static AST applicability comparison; no execution", + "source_baseline": "/workspace/cbz-0/delivery/declaration-numeric-fix/overlay/source_checks.py", + "unchanged_source_definitions": [ + "Token", + "finding", + "lean_tokens", + "_contradictions", + "check_lean" + ], + "changed_source_definitions": [ + "check_python" + ], + "all_predecessor_test_classes_AST_unchanged": [ + "ManifestRules", + "NumericDeclarationRules", + "SourceRules" + ], + "new_test_classes": [ + "ReviewBoundaryRules" + ], + "old_test_methods": 79, + "new_test_methods": 87, + "sha256": { + "work/auditor.py": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "work/source_checks.py": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "work/tests/test_auditor.py": "045de33d67dfc9ccabf8a16079b5a9c8a6af0fa2e85f988db596e318cadc749e" + } +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/NOTEBOOK_SOURCE_REVIEW.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/NOTEBOOK_SOURCE_REVIEW.json new file mode 100644 index 000000000..95f78510a --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/NOTEBOOK_SOURCE_REVIEW.json @@ -0,0 +1,83 @@ +{ + "reviewer": "/root/auditor_intake_failure/review_boundary_source_review", + "reviewed_at": "2026-10-29T21:20:01.699909+00:00", + "result": "CLEAR", + "scope": "independent read-only notebook-source classification delta and existing receipts; no execution", + "source_sha256": { + "work/auditor.py": "309935e125195ae8093ffeb691f9d4c16f6c69e3dbb74b453ed6d50e05be1619", + "work/source_checks.py": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "work/mutation_test.py": "fe3a1caa252eca0a678295c717eae8c9b7df8d36a4f1b0c8df740d8c33801af8", + "work/tests/test_auditor.py": "73e0b36fe95774af04b433f2de748911625a4ed10cf9f5f46c86249f19707ddc" + }, + "prior_review_sha256": "6c305b4cf649d7f371d19d65a8230a403e9bf730fa4043eed2418ac4eb5e8081", + "prior_review_unchanged": true, + "finding": "Actual Main c93 notebook was executable source yet could receive nonsource STATIC_PASS. Known notebook suffixes must be refused without a checker.", + "source_assessment": "Only notebook suffix constant/comment and its source_like use changed in auditor.py. Both .ipynb and .ipynb.txt, including case variants via existing lowercase normalization, now reach source/proof relabeling refusal and unsupported language gap. The tool conservatively refuses notebooks rather than interpreting or executing cells.", + "test_assessment": "Exactly one method added with real code-cell JSON and three path/kind variants; previous87 test_auditor methods exact AST unchanged. Source checker bytes unchanged.", + "mutation_assessment": "Exactly one tuple prepended, removing only known notebook suffix classification; prior67 tuples and runner function definitions unchanged. New anchor unique and resulting mutant syntactically valid.", + "existing_evidence_read": { + "notebook-red": { + "sha256": "be288c4c08dfdd8de58547bc98baee4a768ad1e3d04cdfd519e77ffdf40736ce", + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "outcome": null, + "successful": false + }, + "notebook-green-normal": { + "sha256": "b5eaedef10508ffe30071abd86fad178522862568978ffd41fdfe0f608b31fae", + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "outcome": null, + "successful": true + }, + "notebook-green-optimized": { + "sha256": "b5eaedef10508ffe30071abd86fad178522862568978ffd41fdfe0f608b31fae", + "tests_run": 1, + "assertion_failures": 0, + "errors": 0, + "outcome": null, + "successful": true + }, + "notebook-mutation-normal": { + "sha256": "f6ba69ce27ca9170b6f1d01234ab31aba2a8da8c63d56b4cc8cfbc50b6aff4e3", + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "outcome": "KILLED", + "successful": false + }, + "notebook-mutation-optimized": { + "sha256": "1ee911a407fee8645b1276269a3956d4dc586e95b1a4a9e13d29382523f98cf7", + "tests_run": 1, + "assertion_failures": 1, + "errors": 0, + "outcome": "KILLED", + "successful": false + } + }, + "reused_evidence": "Previous18 distinct affected methods/mode and10 actual mutated definitions/mode remain applicable: none of those paths ends in .ipynb or .ipynb.txt, and previous source/guards/tests are unchanged. No old check was rerun by reviewer.", + "composition": { + "standalone_methods": 103, + "additional_fresh_methods_per_mode": 1, + "additional_mutation_definitions": 1, + "additional_mutation_executions_per_mode": 1, + "total_mutation_definitions": 68 + }, + "actual_tree_notebook_binding": { + "prior_overlay_manifest_sha256": "26666d1697a9aa374801091a15a41f97cdd12b3b961f2df267cb830dd32e80b0", + "prior_overlay_files": 49, + "all_prior_overlay_bytes_verified": true, + "actual_tree_notebook": "/workspace/main/docs/notebooks/SIDE24_PUBLIC_COEFFICIENTS.ipynb", + "notebook_sha256": "e348db8e9d667caff2a8da1d85ffd5ad599db34b34e542d9662d0bc1edc84024", + "notebook_bytes": 61961, + "cell_types": [ + "code", + "markdown" + ], + "code_cell_count": 3, + "notebook_executed": false + }, + "limits": "Bounded source classification and evidence review only; no actual repository G1, notebook cell certification, full scanner mutation execution, Lean/kernel replay or federation gate claim." +} diff --git a/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/SOURCE_REVIEW.json b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/SOURCE_REVIEW.json new file mode 100644 index 000000000..9180793f6 --- /dev/null +++ b/cbz/contributions/math514/layer_a/evidence/review-boundary-fix/review/SOURCE_REVIEW.json @@ -0,0 +1,127 @@ +{ + "reviewer": "/root/auditor_intake_failure/review_boundary_source_review", + "reviewed_at": "2026-10-29T21:05:49.070564+00:00", + "result": "CLEAR", + "scope": "independent static source/test review of four original review defects; no test execution by reviewer", + "source_sha256": { + "work/auditor.py": "bf003b11cdccf7a7c5b22a1fe63ace7544af47aa2b0d42cce2a5936ddfcabafd", + "work/source_checks.py": "6d68a5cb61e41823e0919f13418935f0baef25f41a0d36fb0ec06457e45f4ae0", + "work/tests/test_auditor.py": "045de33d67dfc9ccabf8a16079b5a9c8a6af0fa2e85f988db596e318cadc749e", + "work/mutation_test.py": "5ded9168b19ec759d16b2597dab5f0e3efc1a6598b22664de94787f7e1a62940" + }, + "findings": [], + "dispositions": [ + { + "review_id": 4416393202, + "finding": "AugAssign arithmetic escapes", + "assessment": "Div now checks BinOp and AugAssign. Pow uses right for BinOp and value for AugAssign; exact integer-literal exponent predicate unchanged. Engineering early-continue unchanged." + }, + { + "review_id": 4416393211, + "finding": "candidate/prefix engineering dependency escapes", + "assessment": "Candidate and package-prefix graph edges now enforce same math_python to engineering_python boundary as ordinary imported target. Candidate local renamed candidate_target so old direct-target mutation guard remains uniquely anchored." + }, + { + "review_id": 4416393221, + "finding": "explicit-null status flag skips admission", + "assessment": "Field presence now always reaches exact True guard and status receipt validation; absence remains optional." + }, + { + "review_id": 4416393233, + "finding": "mjs source disguised as nonsource", + "assessment": ".mjs (case insensitive) and .mjs.txt wrappers classified source-like and rejected without supported checker; both relabeling and language findings present." + } + ], + "applicability": "Only check_python definition differs from numeric source baseline; all Lean/numeric definitions and79 predecessor test_auditor methods exact AST unchanged. No new full scanner or Lean check required solely for these edits.", + "existing_evidence_observed": { + "red-normal": { + "tests_run": 8, + "assertion_failures": 10, + "errors": 0, + "successful": false, + "lifecycle_failures": 0, + "skipped": 0, + "sha256": "cd781ec6bbc760a8a6d86dfc6c2b75710d31ce81602d8e59fa5248be3b11a1da" + }, + "green-normal-final": { + "tests_run": 12, + "assertion_failures": 0, + "errors": 0, + "successful": true, + "lifecycle_failures": 0, + "skipped": 0, + "sha256": "3dd684e464ae31e574fd7bc8a9b8bef98b6cffecab434023b729ffd9945a55e1" + }, + "green-optimized": { + "tests_run": 18, + "assertion_failures": 0, + "errors": 0, + "successful": true, + "lifecycle_failures": 0, + "skipped": 0, + "sha256": "3e8d994cedea3b2591b1ea7992999f13da59ef1768da5574a0ff81e890e10512" + } + }, + "limits": "Source-level bounded scanner review only. Does not certify actual repository G1, mathematical closure, arbitrary Python semantics, complete language coverage, full mutation run, or root composed identity-runner changes.", + "mutation_delta_review": { + "result": "CLEAR", + "total_definitions": 67, + "new_definitions": 7, + "adapted_existing_anchors": 3, + "unchanged_predecessor_definitions": 57, + "all_mutation_anchors_unique_and_syntax_valid": true, + "runner_function_and_class_AST_unchanged": true, + "guard_soundness": "Seven new mutants independently restore only each missing division/power/candidate/prefix/null/mjs/mjs-text guard. Three legacy mutants retain their whole-rule deletion purpose with anchors updated for the corrected guards; old cases remain intact. No mutant plants a proof or changes test assertions.", + "actual_receipts_read": [ + { + "mode": "normal", + "receipt_sha256": "376c7fd85c0e02ba645dbe9e617637cf45e1593feb2af8f5195841472f301cf8", + "actual_definitions_executed": 10, + "killed": 10, + "errors": 0, + "guards": [ + "restore-augmented-division-gap", + "restore-augmented-power-gap", + "restore-python-candidate-nonmath-gap", + "restore-python-prefix-nonmath-gap", + "restore-null-status-evidence-skip", + "restore-es-module-extension-gap", + "restore-es-module-text-wrapper-gap", + "allow-python-division", + "allow-negative-dynamic-powers", + "skip-status-evidence" + ] + }, + { + "mode": "optimized", + "receipt_sha256": "26225b8246cd87f02c702b1501f79808d240af57fde0e788e92a243315be4eb6", + "actual_definitions_executed": 10, + "killed": 10, + "errors": 0, + "guards": [ + "restore-augmented-division-gap", + "restore-augmented-power-gap", + "restore-python-candidate-nonmath-gap", + "restore-python-prefix-nonmath-gap", + "restore-null-status-evidence-skip", + "restore-es-module-extension-gap", + "restore-es-module-text-wrapper-gap", + "allow-python-division", + "allow-negative-dynamic-powers", + "skip-status-evidence" + ] + } + ], + "execution_limits": "No mutants or tests reexecuted by reviewer; no whole67 run inferred." + }, + "verification_composition_review": { + "normal_distinct_union": 18, + "optimized_distinct": 18, + "normal_final_hash_invocations": 12, + "normal_applicable_unchanged_earlier_methods": 6, + "standalone_methods": 102, + "predecessor_methods_reused": 84, + "no_full_baseline_execution_claimed": true, + "explanation": "The six earlier-green methods outside the final twelve test only unchanged AugAssign/status/ES-module paths; final source change renamed candidate-edge local only. Final twelve include candidate/prefix paths and affected original controls. Numeric/Lean definitions and prior test methods remain AST-identical." + } +} diff --git a/cbz/contributions/math514/layer_a/mutation_test.py b/cbz/contributions/math514/layer_a/mutation_test.py new file mode 100644 index 000000000..7eaa8fcd3 --- /dev/null +++ b/cbz/contributions/math514/layer_a/mutation_test.py @@ -0,0 +1,692 @@ +#!/usr/bin/env python3 +"""G0: real isolated checker-source mutations; 100% declared mutants must be killed.""" +import argparse +import ast +from datetime import datetime, timezone +import hashlib +import functools +import io +import inspect +import importlib +import json +import os +from pathlib import Path +import re +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parent + +# Each change weakens a claimed auditor rule, rather than planting a bad proof fixture. +MUTATIONS=[ + ('discard-known-notebook-source-suffixes','auditor.py',"NOTEBOOK_SUFFIXES = ('.ipynb', '.ipynb.txt')","NOTEBOOK_SUFFIXES = ()"), + ('restore-augmented-division-gap', 'source_checks.py', 'if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div):', 'if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Div):'), + ('restore-augmented-power-gap', 'source_checks.py', 'if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow):', 'if isinstance(node, ast.BinOp) and isinstance(node.op, ast.Pow):'), + ('restore-python-candidate-nonmath-gap', 'auditor.py', "if kind=='math_python' and records[candidate_target]['entry']['kind']=='engineering_python':", 'if False:'), + ('restore-python-prefix-nonmath-gap', 'auditor.py', "if kind=='math_python' and records[prefix]['entry']['kind']=='engineering_python':", 'if False:'), + ('restore-null-status-evidence-skip', 'auditor.py', "if 'status_evidence' in entry:", "if entry.get('status_evidence') is not None:"), + ('restore-es-module-extension-gap', 'auditor.py', "'.js','.mjs','.ts'", "'.js','.ts'"), + ('restore-es-module-text-wrapper-gap', 'auditor.py', "'.sh.txt','.js.txt','.mjs.txt'", "'.sh.txt','.js.txt'"), + ('restore-metadata-generic-numeral-swallowing', 'source_checks.py', " elif c.isdigit():\n # Preserve the canonical numeral boundary: valid Lean permits a\n # numeral immediately before a declaration keyword (0theorem).\n # Keep spelling/location for literal-hypothesis checks; no numeric\n # evaluation or independent numeral grammar is introduced here.\n match = canonical_numeral_spelling.match(text, i)\n end = match.end() if match is not None else i + 1\n tokens.append(Token(text[i:end], line, column)); advance(end)\n elif c.isalpha() or c == '_':", " elif c.isalpha() or c == '_' or c.isdigit():"), + ('discard-metadata-numeral-tokens', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'advance(end)'), + ('overshoot-metadata-numeral-boundary', 'source_checks.py', 'tokens.append(Token(text[i:end], line, column)); advance(end)', 'tokens.append(Token(text[i:end], line, column)); advance(min(end + 1, n))'), + ('restore-generic-numeral-swallowing','canonical_lean.py',"match = _NUMERAL.match(text, i)\n advance(match.end() - i if match else 1)","while i < n and (text[i].isalnum() or text[i] in '._'):\n advance(1)"), + ('discard-nested-string-code-holes','canonical_lean.py',"yield from _brace_segments(text, content_start, i - 1, start[0], start[1] + 1)","pass"), + ('discard-canonical-lexical-errors','source_checks.py',"for line, column, kind in dict.fromkeys(lexical_errors):","for line, column, kind in []:"), + ('ignore-canonical-metadata-shape','source_checks.py',"findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape'))","pass"), + ('empty-lean-findings','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [], 'imports': imports, 'declarations': declarations}"), + ('canonical-unicode-boundary-weakened','canonical_lean.py',"or _is_letter(ch) or _is_subscript(ch)","or ch == 'λ' or _is_letter(ch) or _is_subscript(ch)"), + ('disable-placeholder-category','source_checks.py',"placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"), + ('disable-axiom-category','source_checks.py',"if tail in {'axiom', 'constant', 'constants'}:","if False:"), + ('disable-native-category','source_checks.py',"if tail in native:","if False:"), + ('disable-unchecked-declaration-refusal','source_checks.py',"if tail in kernel_bypass:","if False:"), + ('skip-malformed-character-refusal','source_checks.py',"return {'findings': findings, 'imports': imports, 'declarations': declarations}","return {'findings': [f for f in findings if not (f['code'] == 'LEAN_LEXICAL_GAP' and ('character literal' in f['detail'] or 'unterminated_char' in f['detail']))], 'imports': imports, 'declarations': declarations}"), + ('miss-escaped-placeholder-helpers','source_checks.py',"not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}","not token.quoted or tail == 'sorryAx'"), + ('drop-escaped-constant-normalization','source_checks.py',"name = '.'.join(part.removeprefix('\\x00').replace('\\x01', '.') for part in parts)","name = raw_name"), + ('miss-multiline-commented-native-config','source_checks.py',"if tail in native:","if tail in native and not (tail == 'native' and ('\\n' in text or '/-' in text)):"), + ('disable-macro-gap-category','source_checks.py',"if tail in expansion:","if False:"), + ('drop-lean-dependencies','source_checks.py',"'imports': imports, 'declarations': declarations}","'imports': [], 'declarations': declarations}"), + ('disable-float-literal-category','source_checks.py',"if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)):","if False:"), + ('allow-python-division','source_checks.py',"if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div):","if False:"), + ('allow-negative-dynamic-powers','source_checks.py',"if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow):","if False:"), + ('allow-unknown-python-calls','source_checks.py',"if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls:","if False:"), + ('disable-exact-python-profile','source_checks.py',"if not mathematical:\n continue","if True:\n continue"), + ('allow-reflective-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}:","if False:"), + ('allow-protected-name-rebinding','source_checks.py',"if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected:","if False:"), + ('restore-reflective-builtin-loader-gap','source_checks.py',"'__builtins__', 'vars', 'getattr', 'setattr', 'delattr'","'unused_reflective_name'"), + ('disable-reflective-loader-attributes','source_checks.py',"if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}:","if False:"), + ('truncate-primed-lean-imports','source_checks.py','r"[^\\W\\d][\\w\'!?]*(?:\\.[^\\W\\d][\\w\'!?]*)*"',"r'[^\\W\\d]\\w*(?:\\.[^\\W\\d]\\w*)*'"), + ('silence-unsupported-lean-import-tail','source_checks.py',"findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line))","pass"), + ('drop-literal-import-operands','source_checks.py',"tokens.append(Token('', line, column))","pass"), + ('skip-all-but-first-file','auditor.py',"for path in sorted(set(tracked)|set(files)):","for path in sorted(set(tracked)|set(files))[:1]:"), + ('allow-incomplete-classification','auditor.py',"if set(tracked)!=set(files):","if False:"), + ('allow-unknown-classification','auditor.py',"'external_pinned','binary_proof','documentation','data'})","'external_pinned','binary_proof','documentation','data','ignore'})"), + ('disable-content-hash-check','auditor.py',"if digest(data)!=entry.get('sha256'):","if False:"), + ('allow-symlink-files','auditor.py',"if any((root.joinpath(*PurePosixPath(path).parts[:i])).is_symlink() for i in range(1,len(PurePosixPath(path).parts)+1)):","if False:"), + ('allow-unreadable-files','auditor.py',"if not info.st_mode & (stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH):","if False:"), + ('skip-unreadable-file','auditor.py',"add('FILE_UNREADABLE','no read permissions even under privileged runner',rid,path);continue","continue"), + ('allow-relabeled-source','auditor.py',"if kind in {'documentation','data'} and (source_like or suffix in BINARY_EXTENSIONS):","if False:"), + ('skip-retained-text-language-requirement','auditor.py',"kind in RETAINED or kind=='external_pinned' and (source_like or 'module' in entry)","kind in RETAINED and source_like or kind=='external_pinned' and (source_like or 'module' in entry)"), + ('skip-mapped-external-language-requirement','auditor.py',"kind=='external_pinned' and (source_like or 'module' in entry)","kind=='external_pinned' and source_like"), + ('allow-unsupported-source-extension-language','auditor.py',"if source_like and expected_language is None:","if False:"), + ('allow-unpinned-external-source','auditor.py',"if kind=='external_pinned' or 'pin' in entry:","if False:"), + ('skip-nonmath-review','auditor.py',"if kind=='engineering_python':","if False:"), + ('skip-binary-proof-bindings','auditor.py',"if kind=='binary_proof' or suffix in BINARY_EXTENSIONS:","if False:"), + ('ignore-retained-finding-counts','auditor.py',"if actual!=entry.get('expected_findings'):","if False:"), + ('ignore-quarantine-boundary','auditor.py',"if kind=='quarantined_source':","if False:"), + ('restore-shadowed-fractions-exemption','auditor.py'," and 'python:fractions' not in module_map:",":"), + ('drop-python-submodule-candidates','auditor.py',"for candidate in result.get('import_candidates',[]):","for candidate in []:"), + ('allow-nonmath-dependency-values','auditor.py',"if kind=='math_python' and records[target]['entry']['kind']=='engineering_python':","if False:"), + ('skip-path-validation','auditor.py',"if not normalized_path(path):","if False:"), + ('allow-quarantine-dependency','auditor.py',"if records[target]['entry']['kind'] in RETAINED:","if False:"), + ('skip-vacuity-coverage','auditor.py',"if not isinstance(annotations,dict) or len(keys)!=len(set(keys)) or set(annotations)!=set(keys):","if False:"), + ('ignore-contradictory-hypotheses','auditor.py',"if declaration['contradictions'] and a['status']!='vacuous':","if False:"), + ('allow-unbound-nonvacuity','auditor.py',"if a['status']=='nonvacuous':","if False:"), + ('skip-status-evidence','auditor.py',"if 'status_evidence' in entry:","if False:"), + ('conflate-status-json-booleans-and-integers','auditor.py',"json.dumps(evidence,sort_keys=True,separators=(',',':'))!=json.dumps(comparable,sort_keys=True,separators=(',',':'))","evidence!=comparable"), + ('allow-arbitrary-foundation-set','auditor.py',"if not isinstance(approved,list) or any(not isinstance(a,str) for a in approved) or len(approved)!=3 or set(approved)!=APPROVED_AXIOMS:","if False:"), + ('empty-final-findings','auditor.py',"'retained_count':len(retained_findings),'findings':findings,","'retained_count':len(retained_findings),'findings':[],"), + ('always-report-static-pass','auditor.py',"'result':'STATIC_PASS' if not findings else 'FAIL'","'result':'STATIC_PASS'"), +] + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def parse_test_result(output, returncode): + count=re.search(r'Ran (\d+) tests? in ',output) + tests=int(count.group(1)) if count else 0 + failed=re.search(r'FAILED \(([^)]*)\)',output) + fields=dict((k,int(v)) for k,v in re.findall(r'(failures|errors)=(\d+)',failed.group(1))) if failed else {} + failures,errors=fields.get('failures',0),fields.get('errors',0) + return tests,failures,errors + + +def classify_test_result(value, code, expected_ids=None): + """Accept only a complete receipt emitted by the phase-aware runner. + + Text summaries are diagnostic only. This validates runner evidence; it is + not an authentication scheme for JSON supplied by an untrusted process. + """ + if type(value) is not dict or type(code) is not int or code not in (0, 1): + return 'ERROR' + if value.get('receipt_schema') != 'cbz-unittest-lifecycle-v1': + return 'ERROR' + counts=('tests_run','assertion_failures','errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures','subtests') + if any(type(value.get(k)) is not int or value[k] < 0 for k in counts): + return 'ERROR' + if type(value.get('successful')) is not bool or value.get('invalid_population') != []: + return 'ERROR' + lists=('selected_ids','started_ids','finished_ids','body_entered_ids', + 'body_finished_ids','body_assertion_ids') + for key in lists: + items=value.get(key) + if type(items) is not list or any(type(item) is not str or not item for item in items): + return 'ERROR' + if key != 'body_assertion_ids' and len(items) != len(set(items)): + return 'ERROR' + selected=value['selected_ids'] + if expected_ids is not None: + if (type(expected_ids) is not list or not expected_ids + or any(type(i) is not str or not i for i in expected_ids) + or len(expected_ids)!=len(set(expected_ids)) or selected!=expected_ids): + return 'ERROR' + if not selected or value['tests_run'] != len(selected): + return 'ERROR' + if any(value[k] != selected for k in lists[1:5]): + return 'ERROR' + if any(item not in selected for item in value['body_assertion_ids']): + return 'ERROR' + if value['assertion_failures'] != len(value['body_assertion_ids']): + return 'ERROR' + assertions=value.get('assertion_events') + if type(assertions) is not list: + return 'ERROR' + for event in assertions: + if (type(event) is not dict or set(event)!={'id','source'} + or event['id'] not in selected or event['source'] not in ('direct','subtest')): + return 'ERROR' + if [e['id'] for e in assertions]!=value['body_assertion_ids']: + return 'ERROR' + direct=[e['id'] for e in assertions if e['source']=='direct'] + if len(direct)!=len(set(direct)): + return 'ERROR' + events=value.get('subtest_events') + if type(events) is not list or value['subtests'] != len(events): + return 'ERROR' + for event in events: + if (type(event) is not dict or set(event) != {'id','phase','outcome'} + or event['id'] not in selected or event['phase'] != 'body' + or event['outcome'] not in ('success','assertion')): + return 'ERROR' + assertion_subtests=[e['id'] for e in events if e['outcome']=='assertion'] + if assertion_subtests!=[e['id'] for e in assertions if e['source']=='subtest']: + return 'ERROR' + if any(value[k] for k in ('errors','skipped','expected_failures', + 'unexpected_successes','lifecycle_failures')): + return 'ERROR' + if code == 1 and value['assertion_failures'] > 0 and value['successful'] is False: + return 'KILLED' + if code == 0 and value['assertion_failures'] == 0 and value['successful'] is True: + return 'SURVIVED' + return 'ERROR' + + +def ordinary_sync_method(method): + """Only ordinary synchronous methods, including every wraps-linked layer.""" + try: + unwrapped=inspect.unwrap(method) + except (ValueError,TypeError): + return False + current=method + while True: + if not (inspect.isfunction(current) or inspect.ismethod(current)): + return False + if (inspect.isgeneratorfunction(current) or inspect.iscoroutinefunction(current) + or inspect.isasyncgenfunction(current)): + return False + if current is unwrapped: + return True + current=getattr(current,'__wrapped__',unwrapped) + + + +class IdentityMismatch(RuntimeError): + """A selected declaration no longer denotes its frozen body.""" + + +def function_chain(method): + """Bind actual ordinary function and code objects, including wraps links.""" + chain=[];seen=set() + while True: + function=method.__func__ if inspect.ismethod(method) else method + if not inspect.isfunction(function) or id(function) in seen: + return None + seen.add(id(function));chain.append((function,function.__code__)) + if not hasattr(function,'__wrapped__'): + return tuple(chain) + method=function.__wrapped__ + + +def same_function_chain(left,right): + return (left is not None and right is not None and len(left)==len(right) + and all(a is c and b is d for (a,b),(c,d) in zip(left,right))) + + +def capture_identity(test): + if not isinstance(test,unittest.TestCase): + return None + cls=type(test);name=getattr(test,'_testMethodName',None) + if type(name) is not str: + return None + instance=function_chain(getattr(test,name,None)) + declared=function_chain(getattr(cls,name,None)) + if instance is None or declared is None: + return None + return {'class':cls,'name':name, + 'id':cls.__module__+'.'+cls.__qualname__+'.'+name, + 'instance':instance,'declared':declared,'wrapper':None} + + +def identity_matches(test,binding): + if (binding is None or type(test) is not binding['class'] + or getattr(test,'_testMethodName',None)!=binding['name'] + or type(test).__module__+'.'+type(test).__qualname__+'.'+binding['name']!=binding['id']): + return False + if not same_function_chain(function_chain(getattr(type(test),binding['name'],None)),binding['declared']): + return False + live=getattr(test,binding['name'],None) + if binding['wrapper'] is not None and live is not binding['wrapper']: + return False + original=(binding['instance'][0][0] if binding['wrapper'] is not None else live) + return same_function_chain(function_chain(original),binding['instance']) + + +def suite_leaves(suite): + for child in suite: + if type(child) is unittest.TestSuite: + yield from suite_leaves(child) + else: + yield child + + +class IdentityLoader(unittest.TestLoader): + """Standard declarations only; never invoke module population factories.""" + def __init__(self): + super().__init__();self.bindings={};self.invalid=[] + + def remember(self,suite): + for test in suite_leaves(suite): + binding=capture_identity(test) + if binding is None: + self.invalid.append('unsupported selected declaration') + else: + self.bindings[id(test)]=binding + return suite + + def ordinary_test_class(self,testCaseClass): + # Construction and attribute dispatch must not rewrite the population. + if type(testCaseClass) is not type: + return False + for name in ('__init__','__new__','__getattribute__','__setattr__','__delattr__'): + if inspect.getattr_static(testCaseClass,name,None) is not inspect.getattr_static(unittest.TestCase,name,None): + return False + for base in testCaseClass.__mro__: + if '__getattr__' in base.__dict__: + return False + for name,value in base.__dict__.items(): + if name.startswith(self.testMethodPrefix) or name=='runTest': + function=value.__func__ if type(value) in (staticmethod,classmethod) else value + if not inspect.isfunction(function): + return False + return True + + def frozen_cases(self,testCaseClass,names): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + # Capture declaration identities before even standard construction. + declared={name:function_chain(getattr(testCaseClass,name,None)) for name in names} + suite=unittest.TestSuite(testCaseClass(name) for name in names) + self.remember(suite) + for test in suite_leaves(suite): + binding=self.bindings.get(id(test)) + original=declared.get(getattr(test,'_testMethodName',None)) + if binding is None or not same_function_chain(binding['declared'],original): + self.invalid.append('selected declaration changed during construction') + elif not same_function_chain(binding['instance'],original): + self.invalid.append('selected instance body changed during construction') + else: + binding['declared']=original + return suite + + def loadTestsFromTestCase(self,testCaseClass): + if not self.ordinary_test_class(testCaseClass): + self.invalid.append('unsupported TestCase constructor/metaclass/attribute dispatch') + return unittest.TestSuite() + names=self.getTestCaseNames(testCaseClass) + if not names and hasattr(testCaseClass,'runTest'): + names=['runTest'] + return self.frozen_cases(testCaseClass,names) + + def loadTestsFromModule(self,module,*,pattern=None): + # Derive the complete standard population before looking at load_tests. + if type(module) is not type(sys): + self.invalid.append('unsupported module attribute dispatch') + return unittest.TestSuite() + suites=[] + for name in sorted(module.__dict__): + value=module.__dict__[name] + if (isinstance(value,type) and issubclass(value,unittest.TestCase) + and value not in (unittest.TestCase,unittest.FunctionTestCase)): + suites.append(self.loadTestsFromTestCase(value)) + suite=unittest.TestSuite(suites) + if module.__dict__.get('load_tests') is not None: + self.invalid.append('unsupported module load_tests hook: '+module.__name__) + return suite + + def loadTestsFromName(self,name,module=None): + # The standard loader also accepts arbitrary callable suite factories. + # This profile supports modules, TestCase classes and exact methods only. + try: + parts=name.split('.') + if module is None: + for end in range(len(parts),0,-1): + try: + current=importlib.import_module('.'.join(parts[:end]));parts=parts[end:] + break + except ModuleNotFoundError as exc: + prefix='.'.join(parts[:end]) + if exc.name!=prefix and not prefix.startswith(str(exc.name)+'.'): + raise + else: + raise ValueError('selector module not found') + else: + current=module + parent=None + for part in parts: + parent=current + if inspect.ismodule(current): + if type(current) is not type(sys): + raise ValueError('unsupported module attribute dispatch') + current=current.__dict__[part] + elif isinstance(current,type): + if type(current) is not type: + raise ValueError('unsupported selector metaclass') + if issubclass(current,unittest.TestCase) and not self.ordinary_test_class(current): + raise ValueError('unsupported TestCase declaration traversal') + declared=inspect.getattr_static(current,part) + if not (inspect.isfunction(declared) or type(declared) in (type,staticmethod,classmethod)): + raise ValueError('unsupported selector descriptor') + current=getattr(current,part) + else: + raise ValueError('unsupported selector object traversal') + if inspect.ismodule(current): + return self.loadTestsFromModule(current) + if isinstance(current,type) and issubclass(current,unittest.TestCase): + return self.loadTestsFromTestCase(current) + if (isinstance(parent,type) and issubclass(parent,unittest.TestCase) + and (inspect.isfunction(current) or inspect.ismethod(current))): + return self.frozen_cases(parent,[parts[-1]]) + raise ValueError('unsupported callable or selector kind') + except (ImportError,AttributeError,KeyError,TypeError,ValueError) as exc: + self.invalid.append('unsupported test selector: '+name+' ('+type(exc).__name__+')') + return unittest.TestSuite() + + +def bound_population(suite,bindings=None,invalid=()): + cases=list(suite_leaves(suite));problems=list(invalid) + if bindings is None: + bindings={id(test):capture_identity(test) for test in cases} + for test in cases: + if not identity_matches(test,bindings.get(id(test))): + problems.append('selected class/function/code identity changed before execution') + return cases,bindings,problems + + +def require_identities(cases,bindings,invalid): + if any(not identity_matches(test,bindings.get(id(test))) for test in cases): + invalid.append('selected class/function/code identity changed during execution') + raise IdentityMismatch('selected body identity changed') + +def inspect_test_population(suite): + """Discover canonical method identities without calling fixtures or bodies.""" + def leaves(node): + if isinstance(node,unittest.TestSuite): + for child in node: + yield from leaves(child) + else: + yield node + population=list(leaves(suite));selected=[];invalid=[] + for test in population: + if not isinstance(test,unittest.TestCase): + invalid.append('non-TestCase selection') + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + selected.append(canonical) + if (type(method) is not str or not ordinary_sync_method(getattr(test,method,None)) + or test.id() != canonical or isinstance(test,unittest.loader._FailedTest) + or getattr(test.run,'__func__',None) is not unittest.TestCase.run): + invalid.append(canonical) + if len(selected)!=len(set(selected)): + invalid.append('duplicate selected method identity') + return population,selected,invalid + + +def execute_test_suite(suite, bindings=None, invalid=()): + """Run an exact population and attribute assertions to actual body entry. + + An assertion may leave a body exceptionally; body_finished means the call + exited, not that its assertion passed. Its phase stays 'body' until unittest + records the failure, and the following lifecycle wrapper changes the phase. + Body-scoped subtests carry explicit parent, phase and outcome events. + Selected methods must be ordinary synchronous methods and return None; + obtaining a lazy call object does not count as executing its deferred body. + """ + receipt={'receipt_schema':'cbz-unittest-lifecycle-v1', + 'selected_ids':[],'started_ids':[],'finished_ids':[], + 'body_entered_ids':[],'body_finished_ids':[],'body_assertion_ids':[],'assertion_events':[], + 'invalid_population':[],'lifecycle_failures':0,'subtests':0,'subtest_events':[], + 'failure_events':[]} + population,bindings,identity_errors=bound_population(suite,bindings,invalid) + _,selected,invalid=inspect_test_population(suite) + invalid.extend(identity_errors) + receipt['selected_ids']=selected + receipt['invalid_population']=invalid + if invalid: + receipt.update(tests_run=0,assertion_failures=0,errors=0,skipped=0, + expected_failures=0,unexpected_successes=0,successful=False, + log='Refused unsupported selected test population before execution.\n') + return receipt + for test in population: + if not isinstance(test,unittest.TestCase): + continue + method=getattr(test,'_testMethodName',None) + canonical=type(test).__module__+'.'+type(test).__qualname__+'.'+str(method) + if canonical in invalid: + continue + test._cbz_phase='selected' + test._cbz_body_active=False + test._cbz_body_exception=None + test._cbz_dispatch_depth=0 + test._cbz_lifecycle_depth=0 + # Wrap the actual selected method, rather than treating startTest as + # evidence that setup succeeded or the test body was called. + original=getattr(test,method) + @functools.wraps(original) + def body(*args,_test=test,_original=original,_id=canonical,**kwargs): + require_identities(population,bindings,receipt['invalid_population']) + if not (_test._cbz_dispatch_depth>0 and _test._cbz_lifecycle_depth==0): + receipt['invalid_population'].append('selected method invoked outside body dispatch: '+_id) + return _original(*args,**kwargs) + _test._cbz_phase='body' + _test._cbz_body_active=True + receipt['body_entered_ids'].append(_id) + try: + value=_original(*args,**kwargs) + if value is not None: + receipt['invalid_population'].append('non-None return from selected method: '+_id) + # Closing a fresh native coroutine does not enter its body. + # Never close custom awaitables or advance any lazy object. + if (inspect.iscoroutine(value) + and inspect.getcoroutinestate(value)==inspect.CORO_CREATED): + value.close() + return None + return value + except BaseException as exc: + _test._cbz_body_exception=exc + raise + finally: + _test._cbz_body_active=False + receipt['body_finished_ids'].append(_id) + require_identities(population,bindings,receipt['invalid_population']) + setattr(test,method,body) + bindings[id(test)]['wrapper']=body + original_dispatch=test._callTestMethod + def dispatch(*args,_test=test,_original=original_dispatch,**kwargs): + _test._cbz_dispatch_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_dispatch_depth-=1 + test._callTestMethod=dispatch + for name,phase in (('_callSetUp','setup'),('_callTearDown','teardown'),('_callCleanup','cleanup')): + original=getattr(test,name) + def lifecycle(*args,_test=test,_original=original,_phase=phase,**kwargs): + _test._cbz_phase=_phase + _test._cbz_lifecycle_depth+=1 + try: + return _original(*args,**kwargs) + finally: + _test._cbz_lifecycle_depth-=1 + setattr(test,name,lifecycle) + + class PhaseResult(unittest.TextTestResult): + def startTest(self,test): + require_identities(population,bindings,receipt['invalid_population']) + receipt['started_ids'].append(test.id()) + super().startTest(test) + def stopTest(self,test): + receipt['finished_ids'].append(test.id()) + super().stopTest(test) + def addFailure(self,test,err): + phase=getattr(test,'_cbz_phase','unknown') + is_body=(phase == 'body' and issubclass(err[0],AssertionError) + and err[1] is getattr(test,'_cbz_body_exception',None)) + if is_body: + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'direct'}) + else: + receipt['lifecycle_failures']+=1 + receipt['failure_events'].append({'id':test.id(),'phase':phase,'kind':'assertion'}) + super().addFailure(test,err) + def addError(self,test,err): + receipt['failure_events'].append({'id':test.id(),'phase':getattr(test,'_cbz_phase','fixture'),'kind':'error'}) + super().addError(test,err) + def addSubTest(self,test,subtest,err): + receipt['subtests']+=1 + phase=getattr(test,'_cbz_phase','unknown') + outcome=('success' if err is None else + 'assertion' if issubclass(err[0],AssertionError) else 'error') + scoped=(phase=='body' and getattr(test,'_cbz_body_active',False) + and getattr(subtest,'test_case',None) is test) + if not scoped: + receipt['lifecycle_failures']+=1 + if scoped and outcome=='assertion': + receipt['body_assertion_ids'].append(test.id()) + receipt['assertion_events'].append({'id':test.id(),'source':'subtest'}) + receipt['subtest_events'].append({'id':test.id(),'phase':phase,'outcome':outcome}) + super().addSubTest(test,subtest,err) + + stream=io.StringIO() + result=PhaseResult(stream=unittest.runner._WritelnDecorator(stream),descriptions=True,verbosity=2) + try: + suite.run(result) + except IdentityMismatch: + result.stop() + result.printErrors() + stream.write('Ran '+str(result.testsRun)+' tests\n') + receipt.update(tests_run=result.testsRun,assertion_failures=len(result.failures), + errors=len(result.errors),skipped=len(result.skipped), + expected_failures=len(result.expectedFailures), + unexpected_successes=len(result.unexpectedSuccesses), + successful=result.wasSuccessful(),log=stream.getvalue()) + return receipt + + +def internal_test_runner(argv): + parser=argparse.ArgumentParser(allow_abbrev=False) + parser.add_argument('--output',type=Path,required=True) + parser.add_argument('--test-root',type=Path,required=True) + parser.add_argument('--test-pattern',default='test_auditor.py') + parser.add_argument('--test',action='append',default=[]) + parser.add_argument('--list',action='store_true') + args=parser.parse_args(argv) + sys.path.insert(0,str(args.test_root.parent)) + sys.path.insert(0,str(args.test_root)) + loader=IdentityLoader() + suite=(loader.loadTestsFromNames(args.test) if args.test else + loader.discover(str(args.test_root),pattern=args.test_pattern)) + if args.list: + _,selected,invalid=inspect_test_population(suite) + _,_,identity_errors=bound_population(suite,loader.bindings,loader.invalid) + invalid.extend(identity_errors) + value={'receipt_schema':'cbz-unittest-population-v1','selected_ids':selected,'invalid_population':invalid} + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + return 0 if selected and not invalid else 1 + value=execute_test_suite(suite,loader.bindings,loader.invalid) + args.output.write_text(json.dumps(value,indent=2)+'\n',encoding='utf-8') + print(value['log'],end='') + return 0 if value['successful'] else 1 + + +def run_one(name, filename, transform, output_dir, tests=None): + """Execute an unchanged selected behavioral population against a source mutant.""" + output_dir=Path(output_dir);output_dir.mkdir(parents=True,exist_ok=True) + original=(HERE/filename).read_text(encoding='utf-8') + try: + changed=transform(original) + ast.parse(changed,filename=filename) + except (SyntaxError,ValueError,TypeError) as exc: + return {'name':name,'file':filename,'outcome':'INVALID','detail':str(exc),'assertion_failures':0,'errors':0} + with tempfile.TemporaryDirectory(prefix='cbz-layer-a-mutant-') as temporary: + root=Path(temporary);(root/'tests').mkdir() + for source in ['auditor.py','source_checks.py','canonical_lean.py']: + (root/source).write_bytes((HERE/source).read_bytes()) + (root/'tests/test_auditor.py').write_bytes((HERE/'tests/test_auditor.py').read_bytes()) + result_path=root/'test-result.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(result_path),'--test-root',str(root/'tests')] + for test in tests or []: + command.extend(['--test',test]) + env=dict(os.environ);env.pop('PYTHONPATH',None);env['PYTHONDONTWRITEBYTECODE']='1';env['PYTHONNOUSERSITE']='1' + expected_ids=[];population={} + try: + population_path=root/'pristine-population.json' + list_command=[str(population_path) if item==str(result_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + population=json.loads(population_path.read_text()) if population_path.is_file() else {} + expected_ids=population.get('selected_ids',[]) + if (listed.returncode!=0 or population.get('receipt_schema')!='cbz-unittest-population-v1' + or population.get('invalid_population')!=[]): + p=listed;value={} + else: + (root/filename).write_text(changed,encoding='utf-8') + p=subprocess.run(command,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,timeout=60) + value=json.loads(result_path.read_text()) if result_path.is_file() else {} + except subprocess.TimeoutExpired: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'behavioral suite timeout','assertion_failures':0,'errors':1} + except (OSError,ValueError) as exc: + return {'name':name,'file':filename,'outcome':'ERROR','detail':'runner receipt failure: '+str(exc),'assertion_failures':0,'errors':1} + output=p.stdout + log=output_dir/(name+'.log');log.write_text(output,encoding='utf-8') + outcome=classify_test_result(value,p.returncode,expected_ids=expected_ids) + return {'name':name,'file':filename,'outcome':outcome,'returncode':p.returncode, + 'tests_run':value.get('tests_run',0),'assertion_failures':value.get('assertion_failures',0), + 'errors':value.get('errors',0),'tests':value,'expected_ids':expected_ids,'pristine_population':population,'original_sha256':sha(original.encode()), + 'mutated_sha256':sha(changed.encode()),'log':str(log),'log_sha256':sha(output.encode())} + + +def main(argv=None): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,required=True,help='G0 receipt JSON; logs in a receipt-specific sibling directory') + args=parser.parse_args(argv) + started=datetime.now(timezone.utc).isoformat() + source_paths=['auditor.py','source_checks.py','canonical_lean.py','mutation_test.py','tests/test_auditor.py','tests/test_mutation_runner.py','SPEC.md','README.md','LEXER_PROVENANCE.json'] + starting_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + args.output.parent.mkdir(parents=True,exist_ok=True) + logs=args.output.parent/(args.output.stem+'-mutation-logs');logs.mkdir(exist_ok=True) + baseline_path=logs/'baseline-tests.json' + command=[sys.executable,'-B','-S',str(Path(__file__).resolve()),'--internal-test-runner', + '--output',str(baseline_path),'--test-root',str(HERE/'tests'),'--test-pattern','test_*.py'] + population_path=logs/'baseline-population.json' + list_command=[str(population_path) if item==str(baseline_path) else item for item in command]+['--list'] + listed=subprocess.run(list_command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + try: + baseline_population=json.loads(population_path.read_text()) + except (OSError,ValueError): + baseline_population={} + baseline=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,cwd=HERE,timeout=60) + (logs/'baseline.log').write_text(baseline.stdout,encoding='utf-8') + try: + baseline_value=json.loads(baseline_path.read_text()) + except (OSError,ValueError): + baseline_value={} + tests,failures,errors=(baseline_value.get(k,0) for k in ('tests_run','assertion_failures','errors')) + baseline_outcome=(classify_test_result(baseline_value,baseline.returncode,expected_ids=baseline_population.get('selected_ids',[])) + if listed.returncode==0 and baseline_population.get('receipt_schema')=='cbz-unittest-population-v1' + and baseline_population.get('invalid_population')==[] else 'ERROR') + results=[] + if baseline_outcome=='SURVIVED': + for name,filename,before,after in MUTATIONS: + def transform(source,before=before,after=after): + if source.count(before)!=1: + raise ValueError('mutation anchor is not unique/present: '+repr(before)) + return source.replace(before,after,1) + result=run_one(name,filename,transform,logs);results.append(result) + print(name+': '+result['outcome'],flush=True) + killed=sum(1 for r in results if r['outcome']=='KILLED') + ending_sources={p:sha((HERE/p).read_bytes()) for p in source_paths} + passed=starting_sources==ending_sources and baseline_outcome=='SURVIVED' and len(results)==len(MUTATIONS) and killed==len(MUTATIONS) + report={'schema_version':1,'gate':'G0','observed_status':'PASS' if passed else 'FAIL', + 'started_utc':started,'ended_utc':datetime.now(timezone.utc).isoformat(), + 'command':[sys.executable,'-B','-S',str(HERE/'mutation_test.py'),'--output',str(args.output)], + 'baseline':{'command':command,'returncode':baseline.returncode,'outcome':baseline_outcome,'tests':baseline_value,'tests_run':tests,'assertion_failures':failures,'errors':errors,'log':str(logs/'baseline.log'),'log_sha256':sha(baseline.stdout.encode())}, + 'threshold':{'required_killed':len(MUTATIONS),'declared_mutants':len(MUTATIONS),'killed':killed,'ratio':{'numerator':killed,'denominator':len(MUTATIONS)},'rule':'every declared valid checker-source mutant must be killed by assertions; syntax/import/runtime errors do not count'}, + 'mutants':results,'source_sha256':ending_sources,'source_unchanged_during_run':starting_sources==ending_sources, + 'claim':'finite behavioral selftests and actual checker-source mutations; not a proof of universal scanner correctness'} + args.output.write_text(json.dumps(report,sort_keys=True,indent=2)+'\n',encoding='utf-8') + print('G0 '+report['observed_status']+': '+str(tests)+' baseline tests; '+str(killed)+'/'+str(len(MUTATIONS))+' checker-source mutants killed') + return 0 if passed else 1 + + +if __name__=='__main__': + if sys.argv[1:2] == ['--internal-test-runner']: + raise SystemExit(internal_test_runner(sys.argv[2:])) + raise SystemExit(main()) diff --git a/cbz/contributions/math514/layer_a/source_checks.py b/cbz/contributions/math514/layer_a/source_checks.py new file mode 100644 index 000000000..cf6f71389 --- /dev/null +++ b/cbz/contributions/math514/layer_a/source_checks.py @@ -0,0 +1,330 @@ +"""Bounded lexical/AST checks. See SPEC.md for claims, trust profile and nonclaims.""" +import ast +from dataclasses import dataclass +import re + +from canonical_lean import (lex_tokens as canonical_identifier_tokens, + _CHAR_LIT as canonical_character_literal, + _NUMERAL as canonical_numeral_spelling) + + +@dataclass(frozen=True) +class Token: + text: str + line: int + column: int + quoted: bool = False + + +def finding(code, detail, line=0): + return {'code': code, 'detail': detail, 'line': line} + + +def lean_tokens(text): + """Tokenize source without interpreting syntax, retaining accurate source locations.""" + tokens, gaps = [], [] + i, line, column, n = 0, 1, 0, len(text) + + def advance(end): + nonlocal i, line, column + segment = text[i:end] + count = segment.count('\n') + column = len(segment.rsplit('\n', 1)[-1]) if count else column + len(segment) + line += count + i = end + + def error(detail): + gaps.append(finding('LEAN_LEXICAL_GAP', detail, line)) + + def literal(): + tokens.append(Token('', line, column)) + + while i < n: + c = text[i] + if c.isspace(): + advance(i + 1) + elif text.startswith('--', i): + end = text.find('\n', i + 2) + advance(n if end < 0 else end) + elif text.startswith('/-', i): + j, depth = i + 2, 1 + while j < n and depth: + if text.startswith('/-', j): + depth += 1; j += 2 + elif text.startswith('-/', j): + depth -= 1; j += 2 + else: + j += 1 + if depth: + error('unterminated nested block comment') + advance(j) + elif (raw := re.match(r'r(#+)?"', text[i:])) is not None: + literal() + marker = '"' + (raw.group(1) or '') + end = text.find(marker, i + raw.end()) + if end < 0: + error('unterminated raw string literal'); advance(n) + else: + advance(end + len(marker)) + elif c == '"': + literal() + if i > 0 and text[i - 1] == '!': + error('interpolated string can contain executable terms; requires elaborated certification') + j = i + 1 + while j < n: + if text[j] == '\\': + j += 2 + elif text[j] == '"': + break + else: + j += 1 + if j >= n: + error('unterminated string literal'); advance(n) + else: + advance(j + 1) + elif c == '«': + end = text.find('»', i + 1) + if end < 0: + error('unterminated escaped identifier'); advance(n) + else: + tokens.append(Token(text[i + 1:end], line, column, True)); advance(end + 1) + elif c == "'": + match = canonical_character_literal.match(text, i) + if match is not None: + literal() + advance(match.end()) + else: + error('unsupported or unterminated character literal'); advance(i + 1) + elif c.isdigit(): + # Preserve the canonical numeral boundary: valid Lean permits a + # numeral immediately before a declaration keyword (0theorem). + # Keep spelling/location for literal-hypothesis checks; no numeric + # evaluation or independent numeral grammar is introduced here. + match = canonical_numeral_spelling.match(text, i) + end = match.end() if match is not None else i + 1 + tokens.append(Token(text[i:end], line, column)); advance(end) + elif c.isalpha() or c == '_': + j = i + 1 + while j < n and (text[j].isalnum() or text[j] in "_'!?" or (text[j] == '.' and j + 1 < n and (text[j + 1].isalpha() or text[j + 1] == '_'))): + j += 1 + tokens.append(Token(text[i:j], line, column)); advance(j) + else: + pair = text[i:i + 2] + if pair in {':=', '=>', '->', '<=', '>=', '!=', '==', '<-'}: + tokens.append(Token(pair, line, column)); advance(i + 2) + else: + tokens.append(Token(c, line, column)); advance(i + 1) + return tokens, gaps + + +def _contradictions(header): + """Detect only declared source shapes; this does not interpret Lean propositions.""" + hypotheses = [] + stack = [] + for i, t in enumerate(header): + if t in {'(', '{', '['}: + stack.append((i, t)) + elif t in {')', '}', ']'} and stack: + start, opening = stack.pop() + interior = header[start + 1:i] + depth, colon = 0, None + for j, word in enumerate(interior): + if word in {'(', '{', '['}: depth += 1 + if word in {')', '}', ']'}: depth -= 1 + if word == ':' and depth == 0: + colon = j; break + if colon is not None: + hypotheses.append(tuple(interior[colon + 1:])) + for i, t in enumerate(header[:-1]): + if t == 'False' and header[i + 1] in {'→', '->'}: + hypotheses.append(('False',)) + candidates = [] + for h in hypotheses: + if h in {('False',), ('Not', 'True'), ('¬', 'True')}: + candidates.append('explicit false hypothesis: ' + ' '.join(h)) + if len(h) == 3 and h[0] == h[2] and h[1] in {'<', '≠', '!='}: + candidates.append('self-strict/disequality hypothesis: ' + ' '.join(h)) + if len(h) == 3 and re.fullmatch(r'[0-9]+',h[0]) and re.fullmatch(r'[0-9]+',h[2]) and h[1] == '=' and int(h[0]) != int(h[2]): + candidates.append('incompatible literal equality candidate: ' + ' '.join(h)) + positive = h[1:] if h and h[0] in {'¬', 'Not'} else None + if positive and positive in hypotheses: + candidates.append('opposing hypotheses: ' + ' '.join(positive)) + return sorted(set(candidates)), [' '.join(h) for h in hypotheses] + + +def check_lean(text): + tokens, findings = lean_tokens(text) + imports, declarations = [], [] + placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'} + native = {'native_decide', 'native', 'ofReduceBool', 'ofReduceNat', 'ofReduceInt', 'trustCompiler', 'skipKernelTC'} + kernel_bypass = {'addDeclWithoutChecking'} + expansion = {'macro', 'macro_rules', 'elab', 'elab_rules', 'syntax', 'unsafe', 'run_elab', 'initialize', 'builtin_initialize', 'implemented_by', 'extern'} + hazards = [] + lexical_errors = [] + for metadata in canonical_identifier_tokens(text, lexical_errors): + if not isinstance(metadata, tuple) or len(metadata) != 7: + findings.append(finding('LEAN_LEXICAL_GAP', 'unsupported canonical lexer metadata shape')) + continue + raw_name, line, column, first, plus_before, following, field_before = metadata + # The stricter hazard rules inspect every identifier; native is refused + # regardless of the canonical classifier's seventh field/context hint. + parts = raw_name.split('.') + quoted = parts[-1].startswith('\x00') + name = '.'.join(part.removeprefix('\x00').replace('\x01', '.') for part in parts) + hazards.append(Token(name, line, column - 1, quoted)) + for line, column, kind in dict.fromkeys(lexical_errors): + findings.append(finding('LEAN_LEXICAL_GAP', 'canonical lexer: ' + kind, line)) + for token in hazards: + word = token.text + tail = word.rsplit('.', 1)[-1] + if tail in placeholders and (not token.quoted or tail in {'sorryAx','admitGoal','mkSorry'}): + findings.append(finding('LEAN_PLACEHOLDER', word, token.line)) + if tail in {'axiom', 'constant', 'constants'}: + findings.append(finding('LEAN_AXIOM', 'owned/new axiom declaration or reference requires refusal: ' + word, token.line)) + if tail in native: + findings.append(finding('LEAN_NATIVE', 'compiler/native trust escape: ' + word, token.line)) + if tail in kernel_bypass: + findings.append(finding('LEAN_KERNEL_BYPASS', 'unchecked environment declaration insertion: ' + word, token.line)) + if tail in expansion: + findings.append(finding('LEAN_EXPANSION_GAP', 'requires G2/G4 expanded environment certificate: ' + word, token.line)) + if tail in {'Float','Float32'}: + findings.append(finding('LEAN_FLOAT_REVIEW_GAP', 'floating-point use requires a relevant exact mathematical/nonmathematical certificate', token.line)) + for i, token in enumerate(tokens): + word = token.text + if word == 'import': + j = i + 1 + while j < len(tokens): + t = tokens[j] + if t.line > token.line and t.column == 0: + break + if t.quoted or not re.fullmatch(r"[^\W\d][\w'!?]*(?:\.[^\W\d][\w'!?]*)*", t.text, re.UNICODE): + findings.append(finding('LEAN_IMPORT_GAP', 'unsupported import operand or trailing syntax: ' + t.text, t.line)) + break + imports.append(t.text); j += 1 + if j == i + 1: + findings.append(finding('LEAN_IMPORT_GAP', 'missing or unsupported import syntax', token.line)) + if word in {'theorem', 'lemma', 'example'}: + if word == 'example': + name, j = 'example', i + 1 + else: + if i + 1 >= len(tokens): + findings.append(finding('LEAN_DECLARATION_GAP', 'missing declaration name', token.line)); continue + name, j = tokens[i + 1].text, i + 2 + header, depth = [], 0 + while j < len(tokens): + t = tokens[j].text + if depth == 0 and t in {':=', 'where'}: + break + if depth == 0 and t in {'theorem', 'lemma', 'example'}: + break + if t in {'(', '{', '['}: depth += 1 + if t in {')', '}', ']'}: depth -= 1 + header.append(t); j += 1 + if j == len(tokens) or depth != 0: + findings.append(finding('LEAN_DECLARATION_GAP', 'unsupported/incomplete theorem header', token.line)) + contradictions, hypotheses = _contradictions(header) + declarations.append({'key': name + '@' + str(token.line), 'line': token.line, + 'contradictions': contradictions, 'hypotheses': hypotheses}) + return {'findings': findings, 'imports': imports, 'declarations': declarations} + + +EXACT_BUILTINS = frozenset({'abs', 'all', 'any', 'bool', 'dict', 'enumerate', 'int', 'len', 'list', 'max', + 'min', 'range', 'reversed', 'set', 'sorted', 'sum', 'tuple', 'zip', 'frozenset'}) +ALLOWED_AST = frozenset({ + 'Module','ImportFrom','alias','FunctionDef','arguments','arg','Return','Assign','AnnAssign','AugAssign', + 'Expr','Constant','Name','Load','Store','Del','List','Tuple','Set','Dict','Subscript','Slice', + 'BinOp','UnaryOp','BoolOp','Compare','If','IfExp','For','Break','Continue','Pass','Assert', + 'ListComp','SetComp','DictComp','GeneratorExp','comprehension','Call','keyword','Attribute', + 'Add','Sub','Mult','FloorDiv','Mod','Pow','USub','UAdd','Not','Invert','And','Or', + 'Eq','NotEq','Lt','LtE','Gt','GtE','Is','IsNot','In','NotIn','BitAnd','BitOr','BitXor','LShift','RShift', + 'Div','Import', 'Lambda', 'ClassDef', 'AsyncFunctionDef', +}) + + +def check_python(text, mathematical=True): + findings, imports, import_candidates = [], [], [] + try: + tree = ast.parse(text) + except (SyntaxError, ValueError, RecursionError) as exc: + return {'findings': [finding('PY_SYNTAX', str(exc), getattr(exc, 'lineno', 0) or 0)], 'imports': []} + aliases = {'Fraction'} + local_functions = {n.name for n in ast.walk(tree) if isinstance(n, ast.FunctionDef)} + dynamic_aliases = {'__import__', 'eval', 'exec', 'compile', 'globals', 'locals', '__builtins__', 'vars', 'getattr', 'setattr', 'delattr'} + for node in ast.walk(tree): + if isinstance(node, ast.Import): + for alias in node.names: + imports.append(alias.name) + if alias.name in {'importlib', 'builtins'}: + dynamic_aliases.add(alias.asname or alias.name) + elif isinstance(node, ast.ImportFrom): + name = '.' * node.level + (node.module or '') + imports.append(name) + import_candidates.extend(name + '.' + alias.name for alias in node.names if alias.name != '*') + if node.module == 'fractions' and node.level == 0: + for alias in node.names: + if alias.name == 'Fraction': + aliases.add(alias.asname or alias.name) + if node.module in {'importlib', 'builtins'}: + for alias in node.names: + dynamic_aliases.add(alias.asname or alias.name) + allowed_calls = EXACT_BUILTINS | aliases | local_functions + protected = EXACT_BUILTINS | aliases | local_functions | {'__builtins__'} + for node in ast.walk(tree): + line = getattr(node, 'lineno', 0) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in dynamic_aliases: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic executor/importer name requires dependency certifier: ' + node.id, line)) + if isinstance(node, ast.Attribute) and node.attr in {'__builtins__','__globals__','__dict__','__class__','__base__','__bases__','__mro__','__subclasses__','__getattribute__','__getattr__','__code__','__closure__','func_globals','gi_frame','cr_frame','f_globals','f_builtins'}: + findings.append(finding('PY_DYNAMIC_IMPORT', 'reflective loader entrypoint requires dependency certifier: ' + node.attr, line)) + if isinstance(node, ast.ImportFrom) and (node.level or any(a.name == '*' for a in node.names)): + findings.append(finding('PY_IMPORT_GAP', 'relative/star import requires explicit dependency certifier', line)) + if isinstance(node, ast.Call): + name = node.func.id if isinstance(node.func, ast.Name) else None + dynamic = (name in dynamic_aliases or + isinstance(node.func, ast.Attribute) and + (node.func.attr in {'import_module','__import__','exec_module','load_module','find_spec','spec_from_file_location'} or + isinstance(node.func.value, ast.Name) and node.func.value.id in dynamic_aliases)) + if dynamic: + findings.append(finding('PY_DYNAMIC_IMPORT', 'dynamic execution/loading cannot establish closed dependency boundary', line)) + if not mathematical: + continue + name = type(node).__name__ + if name not in ALLOWED_AST or isinstance(node, (ast.Lambda, ast.ClassDef, ast.AsyncFunctionDef)): + findings.append(finding('PY_AST_GAP', 'unsupported exact-program AST node: ' + name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, ast.Load) and node.id in {'float','complex','__builtins__'}: + findings.append(finding('PY_INEXACT', 'inexact/reflective value can escape through callbacks: ' + node.id, line)) + if isinstance(node, ast.alias) and node.asname in EXACT_BUILTINS: + findings.append(finding('PY_REBIND', 'import shadows exact builtin: ' + node.asname, line)) + if isinstance(node, ast.FunctionDef): + if node.decorator_list: + findings.append(finding('PY_AST_GAP', 'decorators can replace exact functions', line)) + if node.name in EXACT_BUILTINS | aliases | {'__builtins__'}: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.name, line)) + if isinstance(node, ast.Name) and isinstance(node.ctx, (ast.Store, ast.Del)) and node.id in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic name rebound: ' + node.id, line)) + if isinstance(node, ast.arg) and node.arg in protected: + findings.append(finding('PY_REBIND', 'protected arithmetic parameter: ' + node.arg, line)) + if isinstance(node, ast.Constant) and isinstance(node.value, (float, complex)): + findings.append(finding('PY_INEXACT', 'float/complex literal forbidden in mathematical program', line)) + if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Div): + findings.append(finding('PY_INEXACT', '/ may produce float; use Fraction(n,d)', line)) + if isinstance(node, (ast.BinOp, ast.AugAssign)) and isinstance(node.op, ast.Pow): + exponent = node.right if isinstance(node, ast.BinOp) else node.value + if not (isinstance(exponent, ast.Constant) and type(exponent.value) is int and exponent.value >= 0): + findings.append(finding('PY_INEXACT', '** requires nonnegative integer literal exponent', line)) + if isinstance(node, ast.Import): + findings.append(finding('PY_IMPORT_GAP', 'only from fractions import Fraction [as alias] is in the exact profile', line)) + if isinstance(node, ast.ImportFrom): + if node.module != 'fractions' or node.level or any(a.name != 'Fraction' for a in node.names): + findings.append(finding('PY_IMPORT_GAP', 'import outside exact fractions profile', line)) + if isinstance(node, ast.Call): + if not isinstance(node.func, ast.Name) or node.func.id not in allowed_calls: + findings.append(finding('PY_CALL_GAP', 'call is not a statically named exact builtin/Fraction/local function', line)) + if any(k.arg is None for k in node.keywords) or any(isinstance(a, ast.Starred) for a in node.args): + findings.append(finding('PY_CALL_GAP', 'dynamic argument expansion is outside exact profile', line)) + if isinstance(node, ast.Attribute) and node.attr not in {'numerator','denominator'}: + findings.append(finding('PY_ATTRIBUTE_GAP', 'only exact numerator/denominator reads are supported', line)) + if isinstance(node, ast.Attribute) and not isinstance(node.ctx, ast.Load): + findings.append(finding('PY_ATTRIBUTE_GAP', 'attribute mutation is outside exact profile', line)) + if isinstance(node, ast.comprehension) and node.is_async: + findings.append(finding('PY_AST_GAP', 'async comprehension is outside exact profile', line)) + return {'findings': findings, 'imports': sorted(set(imports)), 'import_candidates': sorted(set(import_candidates))} diff --git a/cbz/contributions/math514/layer_a/tests/test_auditor.py b/cbz/contributions/math514/layer_a/tests/test_auditor.py new file mode 100644 index 000000000..2cd39b5ce --- /dev/null +++ b/cbz/contributions/math514/layer_a/tests/test_auditor.py @@ -0,0 +1,850 @@ +"""Behavioral contracts; each test names a scanner weakening it catches.""" +import copy +import hashlib +import importlib.util +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(HERE)) +try: + import auditor + import source_checks +except ImportError: + auditor = source_checks = None + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +class SourceRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(source_checks, 'source checker implementation is missing') + + def lean_codes(self, text): + return {x['code'] for x in source_checks.check_lean(text)['findings']} + + def python_codes(self, text, mathematical=True): + return {x['code'] for x in source_checks.check_python(text, mathematical)['findings']} + + def test_lean_each_logical_escape_and_qualified_compiler_axiom_is_detected(self): + for word, code in [('sorry','LEAN_PLACEHOLDER'),('admit','LEAN_PLACEHOLDER'), + ('sorryAx','LEAN_PLACEHOLDER'),('axiom fake : False','LEAN_AXIOM'), + ('constant fake : False','LEAN_AXIOM'),('native_decide','LEAN_NATIVE'), + ('decide +native','LEAN_NATIVE'),('Lean.ofReduceBool','LEAN_NATIVE'), + ('Lean.ofReduceNat','LEAN_NATIVE'),('Lean.ofReduceInt','LEAN_NATIVE'), + ('Lean.trustCompiler','LEAN_NATIVE')]: + with self.subTest(word=word): + self.assertIn(code, self.lean_codes('theorem t : True := by ' + word)) + + def test_comment_strings_nested_comments_raw_strings_and_char_are_not_code(self): + text = '''-- sorry axiom bad : False +/- sorry /- native_decide -/ admit -/ +def s := "sorry \\" admit /-" +def r := r##"native_decide \" axiom"## +def c := 'x' +theorem t : True := by trivial +''' + self.assertEqual(self.lean_codes(text), set()) + + def test_unicode_boundaries_and_escaped_identifiers_do_not_hide_exact_escape(self): + self.assertEqual(self.lean_codes('def sorryα := 1\ndef αsorry := 2\ndef «sorry» := 3'), set()) + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('theorem λ : True := by\n\u2003sorry')) + self.assertIn('LEAN_NATIVE', self.lean_codes('def f := Lean.«ofReduceBool»')) + + def test_lexical_incompleteness_and_interpolation_are_fatal_not_silent(self): + for text in ['/- unclosed', 'def s := "open', 'def r := r##"open"#', 'def «open := 1', + 'def s := s!"{by sorry}"']: + with self.subTest(text=text): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes(text)) + + def test_macro_expansion_and_unsafe_trust_require_separate_certifier(self): + for text in ['macro "magic" : term => `(by trivial)', 'elab "magic" : term => pure ()', + 'unsafe def x := 1', 'syntax "magic" : term', 'run_elab pure ()']: + with self.subTest(text=text): + self.assertIn('LEAN_EXPANSION_GAP', self.lean_codes(text)) + + def test_adopted_public_lexer_covers_helpers_compiler_options_and_unicode_boundaries(self): + for text,code in [('def x := Lean.Elab.admitGoal','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.mkSorry','LEAN_PLACEHOLDER'), + ('set_option debug.skipKernelTC true','LEAN_NATIVE'), + ('def sorryλ := 1','LEAN_PLACEHOLDER'), + ('def f (x : Float) := x','LEAN_FLOAT_REVIEW_GAP'), + ('@[extern "c"] def f := 1','LEAN_EXPANSION_GAP')]: + with self.subTest(text=text): + self.assertIn(code,self.lean_codes(text)) + + def test_reported_kernel_escape_names_and_native_config_layouts(self): + cases = [ + ('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Lean.Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('theorem t : True := by decide +native','LEAN_NATIVE'), + ('theorem t : True := by decide + native','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native := true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := {\n native\n :=\n true\n})','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { native /- gap /- nested -/ -/ := /- gap -/ true })','LEAN_NATIVE'), + ('theorem t : True := by decide (config := { «native» /- gap -/ := true })','LEAN_NATIVE'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.Elab.«admitGoal»','LEAN_PLACEHOLDER'), + ('def x := Lean.Meta.«mkSorry»','LEAN_PLACEHOLDER'), + ] + for source,code in cases: + with self.subTest(source=source): + self.assertIn(code,self.lean_codes(source)) + + def test_unterminated_character_literals_are_never_silent(self): + for source in ["def x := 'a", "def x := '\\n", "def x := '\\", "def x := '"]: + with self.subTest(source=source): + self.assertIn('LEAN_LEXICAL_GAP',self.lean_codes(source)) + + def test_new_kernel_escape_names_inside_comments_and_strings_are_not_code(self): + source = '-- Environment.addDeclWithoutChecking\n/- «sorryAx» /- native := true -/ -/\ndef x := "Environment.addDeclWithoutChecking native := true"\n' + self.assertEqual(self.lean_codes(source),set()) + + def test_lean_explicit_imports_are_extracted_across_lines(self): + result = source_checks.check_lean('import Closed.Base\nimport\n Closed.A Closed.B\n-- import Q.Bad\n') + self.assertEqual(result['imports'], ['Closed.Base','Closed.A','Closed.B']) + + def test_lean_vacuity_candidates_have_declaration_location(self): + text = 'theorem t (h : False) : True := by trivial\nlemma u (h : P) (hn : ¬ P) : True := by trivial\nexample (n : Nat) (h : n < n) : True := by trivial\n' + ds = source_checks.check_lean(text)['declarations'] + self.assertEqual([d['key'] for d in ds], ['t@1','u@2','example@3']) + self.assertTrue(all(d['contradictions'] for d in ds)) + for hypothesis in ['(h : 1 = 0)', '(h : x ≠ x)', '(h : Not True)']: + self.assertTrue(source_checks.check_lean('theorem x ' + hypothesis + ' : True := by trivial')['declarations'][0]['contradictions']) + + def test_axiom_audit_print_command_is_not_a_new_axiom_declaration(self): + self.assertEqual(self.lean_codes('#print axioms Closed.t'),set()) + + def test_canonical_metadata_and_error_channels_fail_closed(self): + from unittest.mock import patch + with patch.object(source_checks, 'canonical_identifier_tokens', return_value=iter([('x', 1, 1, False, False, '')])): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + def failed_lexing(text, errors): + errors.append((1, 1, 'unsupported canonical lexical region')) + return iter(()) + with patch.object(source_checks, 'canonical_identifier_tokens', failed_lexing): + self.assertIn('LEAN_LEXICAL_GAP', self.lean_codes('def x := 1')) + + def test_canonical_numeric_boundaries_preserve_complete_owned_axiom_tokens(self): + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + self.assertIn('LEAN_AXIOM', self.lean_codes('def harmless := ' + numeral + 'axiom hiddenPremise : False\n')) + self.assertEqual(self.lean_codes('def n := 0x0a\ndef f := 1.0e+1\n'), set()) + + def test_nested_string_placeholder_and_benign_literal_boundaries(self): + self.assertIn('LEAN_PLACEHOLDER', self.lean_codes('def f := throwError "bad {let x := "safe"; (sorry : Nat)}"')) + self.assertEqual(self.lean_codes('def s := "brace { harmless } and \\"quoted\\""\n'), set()) + + def test_lean_no_semantic_sat_claim_from_uninterpreted_hypotheses(self): + ds = source_checks.check_lean('theorem t (h : complicated P) : P := h')['declarations'] + self.assertEqual(ds[0]['contradictions'], []) + + def test_exact_integer_fraction_program_and_alias_are_accepted(self): + text = '''from fractions import Fraction as F +# float(1.1) is only a comment +"""A mathematical docstring may mention float, sorry and native_decide.""" +def square(n: int): + return n ** 2 +values = [F(square(n), 3) for n in range(5)] +assert sum(values) == F(10, 1) +''' + self.assertEqual(self.python_codes(text), set()) + + def test_every_inexact_python_route_is_rejected(self): + for text, code in [('x=0.1','PY_INEXACT'),('x=1j','PY_INEXACT'),('x=1/2','PY_INEXACT'), + ('x=2**-1','PY_INEXACT'),('x=2**n','PY_INEXACT'),('x=float(1)','PY_CALL_GAP'), + ('x=complex(1)','PY_CALL_GAP'),('from math import sqrt\nx=sqrt(2)','PY_IMPORT_GAP'), + ('from decimal import Decimal','PY_IMPORT_GAP'),('x=eval("0.1")','PY_CALL_GAP'), + ('x=getattr(1,"real")','PY_CALL_GAP'),('x=(1).__class__','PY_ATTRIBUTE_GAP'), + ('from fractions import Fraction as F\nF=lambda x:x\nx=F(0.1)','PY_REBIND'), + ('def f(Fraction):\n return Fraction(1)','PY_REBIND'), + ('def f():\n return 1\ng=f\nx=g()','PY_CALL_GAP')]: + with self.subTest(text=text): + self.assertIn(code, self.python_codes(text)) + + def test_unhandled_python_constructs_are_explicit_not_skipped(self): + for text in ['class C: pass', 'async def f(): return 1', '@deco\ndef f(): return 1', + 'try:\n x=1\nexcept:\n pass', 'x=lambda y:y', 'x=yield_value()', 'import fractions as f\nx=f.Fraction(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + self.assertIn('PY_SYNTAX', self.python_codes('def broken(')) + + def test_callbacks_and_rebound_local_functions_cannot_smuggle_float_decisions(self): + for text in ['x=sorted([1,2],key=float)', + 'def f(x): return x\nf=float\nx=f(1)', + 'from fractions import Fraction as F\ndef f(): return 1\nf=F.from_float\nx=f(1)', + 'def f(x): return x\ndef g(f): return f(1)\nx=g(float)', + 'from fractions import Fraction as int\nx=int(1,2)']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text)) + + def test_python_dynamic_code_aliases_and_relative_imports_are_explicit_gaps(self): + for text in ['loader=__import__\nloader("bad")', + 'import importlib.util as util\nspec=util.spec_from_file_location("bad","bad.py")', + 'from . import bad', + 'from bad import *', + 'from builtins import __import__ as load\nload("bad")']: + with self.subTest(text=text): + self.assertTrue(self.python_codes(text,False)) + + def test_lean_block_comment_separator_cannot_join_identifiers_into_escape(self): + self.assertEqual(self.lean_codes('def sor/- comment -/ry := 1'),set()) + self.assertIn('LEAN_PLACEHOLDER',self.lean_codes('theorem t : True := by /-x-/sorry')) + + def test_defined_reflective_loader_forms_fail_in_engineering_scope(self): + cases=["getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')", + "vars()['__builtins__']['__import__']('Q.bad')", + "f.__globals__['__builtins__']['__import__']('Q.bad')", + "().__class__.__base__.__subclasses__()"] + for source in cases: + with self.subTest(source=source): + self.assertIn('PY_DYNAMIC_IMPORT',self.python_codes(source,False)) + + def test_import_module_primes_and_identifier_suffixes_are_extracted_completely(self): + result=source_checks.check_lean("import Good Q.Bad' Q.Other! Q.Last?\n") + self.assertEqual(result['imports'],['Good',"Q.Bad'",'Q.Other!','Q.Last?']) + self.assertEqual(result['findings'],[]) + + def test_unsupported_import_tail_is_a_gap_after_a_valid_prefix(self): + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good ; Q.Bad\n')) + self.assertIn('LEAN_IMPORT_GAP',self.lean_codes('import Good Q.«Bad»\n')) + + def test_literal_import_operands_are_explicit_gaps_after_valid_prefix(self): + for operand in ['"Q.Bad"', 'r"Q.Bad"', "'q'"]: + with self.subTest(operand=operand): + self.assertIn('LEAN_IMPORT_GAP', self.lean_codes('import Good ' + operand + '\n')) + + def test_engineering_float_is_scanned_but_not_mislabeled_mathematical(self): + self.assertEqual(self.python_codes('duration=0.25\n', False), set()) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('__import__("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('import importlib as il\nil.import_module("Q.bad")', False)) + self.assertIn('PY_DYNAMIC_IMPORT', self.python_codes('from importlib import import_module as load\nload("Q.bad")', False)) + + +class ManifestRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(auditor, 'auditor implementation is missing') + self.tmp = tempfile.TemporaryDirectory() + self.addCleanup(self.tmp.cleanup) + self.root = Path(self.tmp.name) + self.m = {'schema_version':1, 'approved_axioms':['propext','Classical.choice','Quot.sound'], + 'roots':[{'id':'r','path':str(self.root),'tree_id':'b'*40, + 'tracked_files':[], 'files':{}}], 'module_map':{}} + + def add(self, path, text, kind='documentation', **options): + data = text if isinstance(text,bytes) else text.encode() + p = self.root / path + p.parent.mkdir(parents=True, exist_ok=True) + p.write_bytes(data) + self.m['roots'][0]['tracked_files'].append(path) + entry = {'sha256':sha(data),'kind':kind, **options} + self.m['roots'][0]['files'][path] = entry + if 'module' in entry: + self.m['module_map'][entry['module']] = 'r:' + path + return entry + + def bind(self, path): + return {'root':'r','path':path,'sha256':self.m['roots'][0]['files'][path]['sha256']} + + def runaudit(self): + return auditor.audit(self.m) + + def codes(self): + return {f['code'] for f in self.runaudit()['findings']} + + def cleanlean(self, path='Closed.lean', text='theorem t : True := by trivial\n', **opts): + return self.add(path,text,'project_lean',module='lean:'+path[:-5].replace('/','.'), + vacuity={'t@1':{'status':'conditional','premises':[],'reason':'source statement only; G2/G4 required'}},**opts) + + def qlean(self): + return self.add('Q/Bad.lean','theorem t : False := by sorry\n','quarantined_source',language='lean', + module='lean:Q.Bad', expected_findings={'LEAN_PLACEHOLDER':1}, + quarantine={'id':'Q-1','boundary':'Q/Bad.lean is isolated; no closed imports', + 'blocking_reason':'missing proof','owner':'none','maintenance':'zero'}) + + def test_reported_hazards_fail_through_actual_manifest_auditor_interface(self): + cases=[('def x := Environment.addDeclWithoutChecking','LEAN_KERNEL_BYPASS'), + ('def x := Environment.«addDeclWithoutChecking»','LEAN_KERNEL_BYPASS'), + ('def x := «sorryAx»','LEAN_PLACEHOLDER'), + ('def x := Lean.«ofReduceBool»','LEAN_NATIVE'), + ('def x := by decide +native','LEAN_NATIVE'), + ('def x := by decide (config := { native /- gap -/ := true })','LEAN_NATIVE'), + ('def x := by decide (config := { native\n := /- nested /- c -/ -/\n true })','LEAN_NATIVE'), + ("def c := 'a",'LEAN_LEXICAL_GAP'), + ('/- unterminated','LEAN_LEXICAL_GAP'), + ('def s := "unterminated','LEAN_LEXICAL_GAP'), + ('def s := r#"unterminated','LEAN_LEXICAL_GAP'), + ('def «unterminated','LEAN_LEXICAL_GAP')] + for source,code in cases: + with self.subTest(source=source): + self.m['roots'][0]['tracked_files'].clear();self.m['roots'][0]['files'].clear();self.m['module_map'].clear() + self.add('Hazard.lean',source,'project_lean',module='lean:Hazard',vacuity={}) + result=self.runaudit() + self.assertEqual(result['result'],'FAIL',result) + self.assertIn(code,{f['code'] for f in result['findings']}) + + def test_numeral_adjoining_owned_axiom_cannot_receive_static_pass(self): + # Canonical698's already compiled counterexample; old numeric lexing hides axiom. + source = 'def harmless := 0axiom hiddenPremise : False\ntheorem bad : False := hiddenPremise\n#print axioms bad\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', + vacuity={'bad@2':{'status':'conditional','premises':[], + 'reason':'source statement only; not a witness claim'}}) + result = self.runaudit() + self.assertIn('LEAN_AXIOM', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_nested_quoted_throwerror_placeholder_cannot_receive_static_pass(self): + # Lean is a benign mapped import fixture; actual compilation evidence is reused. + self.add('Lean.lean', 'def imported := 1\n', 'project_lean', module='lean:Lean', vacuity={}) + source = 'import Lean\nopen Lean\n\ndef f : CoreM Unit := throwError "bad {let x := "safe"; (sorry : Nat)}"\n#print axioms f\n' + self.add('Hazard.lean', source, 'project_lean', module='lean:Hazard', vacuity={}) + result = self.runaudit() + self.assertIn('LEAN_PLACEHOLDER', {f['code'] for f in result['findings']}, result) + self.assertEqual(result['result'], 'FAIL', result) + + def test_bound_engineering_review_cannot_waive_defined_reflective_loader(self): + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-r','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py',"getattr(__builtins__, '__dict__', __builtins__)['__import__']('Q.bad')",'engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'A nonmath review is not an import-isolation waiver'})) + e['nonmath_review']=self.bind('review.json') + r=self.runaudit() + self.assertEqual(r['result'],'FAIL',r) + self.assertIn('PY_DYNAMIC_IMPORT',{f['code'] for f in r['findings']}) + + def test_known_unsupported_source_suffix_cannot_claim_a_supported_language(self): + for path,language,text in [('bad.sh','lean','echo hello\n'),('bad.js','python','x=1\n')]: + with self.subTest(path=path): + self.add(path,text,'external_pinned',language=language,module=language+':Bad'+language, + **({'vacuity':{}} if language=='lean' else {}),pin={'revision':'a'*40,'origin':'fixture'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_retained_text_source_requires_language_then_a_registered_module(self): + e=self.add('Q.txt','theorem t : False := by sorry\n','quarantined_source',expected_findings={}, + quarantine={'id':'Q-t','boundary':'Q.txt','blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.assertIn('LANGUAGE_GAP',self.codes()) + e['language']='lean';e['expected_findings']={'LEAN_PLACEHOLDER':1} + self.assertIn('MODULE_ALIAS',self.codes()) + e['module']='lean:Q';self.m['module_map']['lean:Q']='r:Q.txt' + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_mapped_external_text_module_cannot_skip_supported_source_analysis(self): + self.add('fake.txt','Fraction=float','external_pinned',module='python:fractions', + pin={'revision':'a'*40,'origin':'fixture'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('LANGUAGE_GAP',self.codes()) + + def test_primed_lean_module_after_valid_import_cannot_hide_quarantine(self): + self.add('Good.lean','def x := 1\n','project_lean',module='lean:Good',vacuity={}) + self.add("Q/Bad'.lean",'theorem t : False := by sorry\n','quarantined_source',language='lean',module="lean:Q.Bad'", + expected_findings={'LEAN_PLACEHOLDER':1},quarantine={'id':'Q-p','boundary':"Q/Bad'.lean",'blocking_reason':'unproved','owner':'none','maintenance':'zero'}) + self.add('Closed.lean',"import Good Q.Bad'\n",'project_lean',module='lean:Closed',vacuity={}) + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_status_observation_binding_distinguishes_json_booleans_and_integers(self): + self.add('input.txt','input') + observed={'schema_version':True,'gate':'G5','observed_status':'PASS','run_id':'run-typed', + 'command':['fixture'],'exit_code':False,'inputs':{'r:input.txt':sha(b'input')}} + self.add('observation.json',json.dumps(observed),'data') + status={**observed,'schema_version':1,'exit_code':0,'evidence':self.bind('observation.json')} + self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_complete_manifest_counts_every_file_and_is_deterministic(self): + self.cleanlean() + self.add('README.md','documentation') + r = self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['classified_count'],2) + self.assertEqual(r['scanned_count'],2) + self.assertEqual(r,self.runaudit()) + self.assertIn('G2', [x['gate'] for x in r['remaining_obligations']]) + self.assertIn('G4', [x['gate'] for x in r['remaining_obligations']]) + + def test_each_file_is_really_scanned_not_only_first(self): + self.cleanlean('A.lean') + self.cleanlean('B.lean','theorem t : True := by sorry\n') + self.assertIn('LEAN_PLACEHOLDER', self.codes()) + + def test_unclassified_unknown_skipped_and_extra_paths_fail_closed(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('missing.txt') + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['roots'][0]['files']['a.txt']['kind']='ignore' + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt']['kind']='documentation' + self.m['roots'][0]['files']['extra.txt']={'kind':'data','sha256':'0'*64} + self.assertIn('SCOPE_CLASSIFICATION',self.codes()) + + def test_duplicate_scope_and_unknown_schema_keys_are_rejected(self): + self.add('a.txt','a') + self.m['roots'][0]['tracked_files'].append('a.txt') + self.assertIn('MANIFEST',self.codes()) + self.m['roots'][0]['tracked_files'].pop() + self.m['skip_everything']=True + self.assertIn('MANIFEST',self.codes()) + + def test_empty_scope_cannot_manufacture_green(self): + self.assertIn('MANIFEST',self.codes()) + + def test_missing_unreadable_invalid_utf8_files_are_not_skipped(self): + self.add('a.txt','a') + (self.root/'a.txt').unlink() + self.assertIn('FILE_MISSING',self.codes()) + (self.root/'a.txt').write_text('a') + (self.root/'a.txt').chmod(0) + self.assertIn('FILE_UNREADABLE',self.codes()) + (self.root/'a.txt').chmod(0o600) + e=self.add('Bad.lean',b'\xff','project_lean',module='lean:Bad',vacuity={}) + self.assertIn('FILE_ENCODING',self.codes()) + + def test_zero_mode_file_is_rejected_even_when_existing_descriptor_can_read(self): + # The policy guard matters under privileged readers, not just ordinary PermissionError. + from unittest.mock import patch + self.add('mode.txt','a') + target=self.root/'mode.txt' + descriptor=os.open(target,os.O_RDONLY) + self.addCleanup(os.close,descriptor) + target.chmod(0) + self.addCleanup(target.chmod,0o600) + self.assertEqual(os.pread(descriptor,1,0),b'a') + original=Path.read_bytes + def privileged_read(path): + return os.pread(descriptor,1,0) if path==target else original(path) + with patch.object(Path,'read_bytes',privileged_read): + self.assertIn('FILE_UNREADABLE',self.codes()) + + def test_pin_hash_and_foundation_allowlist_cannot_be_weakened(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertIn('FILE_HASH',self.codes()) + self.m['approved_axioms'].append('sorryAx') + self.assertIn('FOUNDATION_PROFILE',self.codes()) + + def test_foundation_names_cannot_authorize_new_owned_axioms(self): + for name in ['propext','Classical.choice','Quot.sound']: + with self.subTest(name=name): + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear();self.m['module_map'].clear() + self.add('New.lean','axiom '+name+' : False\n','project_lean',module='lean:New',vacuity={}) + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_absolute_parent_normalization_and_symlink_alias_paths_are_rejected(self): + self.add('a.txt','a') + for bad in ['../a.txt','/a.txt','./a.txt','a//b','a\\b','é/../a','e\u0301.txt']: + with self.subTest(path=bad): + m=copy.deepcopy(self.m) + m['roots'][0]['tracked_files']=[bad] + m['roots'][0]['files']={bad:{'kind':'data','sha256':'0'*64}} + self.assertIn('PATH', {x['code'] for x in auditor.audit(m)['findings']}) + (self.root/'alias.txt').symlink_to(self.root/'a.txt') + self.m['roots'][0]['tracked_files'].append('alias.txt') + self.m['roots'][0]['files']['alias.txt']={'kind':'data','sha256':sha(b'a')} + self.assertIn('PATH_SYMLINK',self.codes()) + + def test_source_relabeling_to_docs_or_binary_is_not_silent(self): + self.add('Bad.lean','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['Bad.lean']['kind']='data' + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_engineering_requires_explicit_bound_nonmathematical_review(self): + e=self.add('timer.py','duration=0.1\n','engineering_python',module='python:timer') + self.assertIn('NONMATH_REVIEW',self.codes()) + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'timing only'})) + e['nonmath_review']=self.bind('review.json') + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + review=json.loads((self.root/'review.json').read_text());review['source_sha256']='0'*64 + (self.root/'review.json').write_text(json.dumps(review)) + self.m['roots'][0]['files']['review.json']['sha256']=sha((self.root/'review.json').read_bytes()) + e['nonmath_review']=self.bind('review.json') + self.assertIn('NONMATH_REVIEW',self.codes()) + + def test_negative_fixture_retains_exact_violation_and_never_counts_as_clean(self): + self.add('Negative.lean','example : False := by sorry\n','negative_fixture',language='lean', + module='lean:Negative',expected_findings={'LEAN_PLACEHOLDER':1},fixture_purpose='retain failing proof test') + r=self.runaudit() + self.assertEqual(r['result'],'STATIC_PASS',r) + self.assertEqual(r['retained_findings'][0]['code'],'LEAN_PLACEHOLDER') + self.assertEqual(r['retained_count'],1) + e=self.m['roots'][0]['files']['Negative.lean'];e['expected_findings']={} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_quarantine_requires_exact_boundary_and_scans_retained_source(self): + e=self.qlean() + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['quarantine']['boundary']='' + self.assertIn('QUARANTINE',self.codes()) + e['quarantine']['boundary']='exact boundary' + e['expected_findings']={'LEAN_PLACEHOLDER':2} + self.assertIn('RETAINED_FINDING_MISMATCH',self.codes()) + + def test_closed_import_cannot_reach_quarantine_directly_or_transitively(self): + self.qlean() + self.cleanlean('Mid.lean','import Q.Bad\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.cleanlean('Top.lean','import Mid\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + r=self.runaudit() + hits=[x for x in r['findings'] if x['code']=='QUARANTINE_IMPORT'] + self.assertEqual({x['path'] for x in hits},{'Mid.lean','Top.lean'}) + + def test_unknown_module_alias_and_dynamic_import_fail_closed(self): + self.cleanlean(text='import Unknown.Module\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.assertIn('IMPORT_UNRESOLVED',self.codes()) + self.m['module_map']['lean:Unknown.Module']='r:Closed.lean' + self.assertIn('MODULE_ALIAS',self.codes()) + self.m['module_map'].pop('lean:Unknown.Module') + self.add('bad.py','__import__("Q.Bad")','math_python',module='python:bad') + self.assertIn('PY_DYNAMIC_IMPORT',self.codes()) + + def test_python_import_alias_cannot_hide_quarantine(self): + self.add('bad.py','x=0.5','quarantined_source',language='python',module='python:bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-2','boundary':'bad.py','blocking_reason':'float', 'owner':'none','maintenance':'zero'}) + self.add('closed.py','import bad as good\nassert True','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_fraction_stdlib_exception_cannot_hide_a_mapped_local_quarantine(self): + self.add('fractions.py','x=0.5','quarantined_source',language='python',module='python:fractions', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-f','boundary':'fractions.py','blocking_reason':'fake fractions','owner':'none','maintenance':'zero'}) + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_engineering_from_import_alias_checks_a_mapped_submodule_boundary(self): + self.add('Q/__init__.py','x=1','math_python',module='python:Q') + self.add('Q/bad.py','x=0.5','quarantined_source',language='python',module='python:Q.bad', + expected_findings={'PY_INEXACT':1},quarantine={'id':'Q-b','boundary':'Q/bad.py','blocking_reason':'float','owner':'none','maintenance':'zero'}) + e=self.add('runner.py','from Q import bad as harmless','engineering_python',module='python:runner') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath import runner'})) + e['nonmath_review']=self.bind('review.json') + self.assertIn('QUARANTINE_IMPORT',self.codes()) + + def test_external_source_needs_immutable_pin_and_is_still_scanned(self): + e=self.add('Dep.lean','axiom hidden : False','external_pinned',language='lean',module='lean:Dep') + self.assertIn('EXTERNAL_PIN',self.codes()) + e['pin']={'revision':'a'*40,'origin':'https://example.invalid/dependency'} + self.assertIn('LEAN_AXIOM',self.codes()) + + def test_binary_proof_requires_bound_g2_g4_evidence(self): + e=self.add('Closed.olean',b'\x00\xffproof','binary_proof') + self.assertIn('BINARY_BINDING',self.codes()) + bindings={} + for gate in ['G2','G4']: + self.add(gate+'.json',json.dumps({'type':'kernel_evidence','gate':gate,'subject_sha256':e['sha256'], + 'observed_status':'PASS','exit_code':0,'command':['fixture','kernel-check'],'run_id':'fixture-run'})) + bindings[gate]=self.bind(gate+'.json') + e['bindings']=bindings + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['bindings']['G4']['sha256']='0'*64 + self.assertIn('EVIDENCE_BINDING',self.codes()) + + def test_vacuity_missing_stale_and_false_nonvacuity_annotations_are_rejected(self): + e=self.cleanlean(text='theorem t (h : False) : True := by trivial\n') + self.assertIn('VACUITY_CONTRADICTION',self.codes()) + e['vacuity']={} + self.assertIn('VACUITY_COVERAGE',self.codes()) + e['vacuity']={'t@1':{'status':'vacuous','reason':'False hypothesis'}} + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + e['vacuity']['old@1']={'status':'vacuous','reason':'stale'} + self.assertIn('VACUITY_COVERAGE',self.codes()) + + def test_nonvacuous_claim_requires_content_bound_certificate(self): + e=self.cleanlean() + e['vacuity']['t@1']={'status':'nonvacuous','reason':'explicit witness'} + self.assertIn('VACUITY_EVIDENCE',self.codes()) + + def test_status_pass_requires_actual_bound_observation_not_aspiration(self): + self.add('input.txt','bound input') + status={'schema_version':1,'gate':'G5','observed_status':'PASS','run_id':'run-1', + 'command':['python','fixture.py'],'exit_code':0,'inputs':{'r:input.txt':sha(b'bound input')}} + e=self.add('status.json',json.dumps(status),'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + self.add('observation.json',json.dumps(status),'data') + status['evidence']=self.bind('observation.json') + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + status['exit_code']=1 + raw=json.dumps(status).encode();(self.root/'status.json').write_bytes(raw);e['sha256']=sha(raw) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_malformed_manifest_values_fail_with_findings_instead_of_crashing(self): + self.add('a.txt','a') + samples=[] + for key,value in [('kind',[]),('language',[]),('module',[]),('sha256',None)]: + m=copy.deepcopy(self.m);m['roots'][0]['files']['a.txt'][key]=value;samples.append(m) + for key,value in [('roots',{}),('module_map',[]),('approved_axioms',[[],[],[]]),('schema_version',True)]: + m=copy.deepcopy(self.m);m[key]=value;samples.append(m) + for m in samples: + with self.subTest(manifest=m): + r=auditor.audit(m) + self.assertEqual(r['result'],'FAIL',r) + self.assertTrue(r['findings']) + + def test_archived_source_suffixes_and_wrong_explicit_language_cannot_hide_code(self): + self.add('Old.lean.txt','theorem t : False := by sorry','documentation') + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + self.m['roots'][0]['files'].clear();self.m['roots'][0]['tracked_files'].clear() + self.add('Wrong.lean','theorem t : False := by sorry','quarantined_source',language='python', + module='python:Wrong',expected_findings={'PY_SYNTAX':1}, + quarantine={'id':'Q-x','boundary':'Wrong.lean','blocking_reason':'fixture','owner':'none','maintenance':'zero'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_modules_cannot_point_to_documentation_in_place_of_source(self): + self.cleanlean(text='import Fake\ntheorem t : True := by trivial\n')['vacuity']={'t@2':{'status':'conditional','premises':[],'reason':'fixture'}} + self.add('fake.txt','unscanned','documentation',module='lean:Fake') + self.assertIn('MODULE_ALIAS',self.codes()) + + def test_classification_fields_are_not_silently_ignored_and_tree_pin_is_immutable(self): + self.add('a.txt','a',vacuity={}) + self.assertIn('CLASSIFICATION',self.codes()) + self.m['roots'][0]['files']['a.txt'].pop('vacuity') + self.m['roots'][0]['tree_id']='main' + self.assertIn('MANIFEST',self.codes()) + + def test_external_binary_proof_cannot_bypass_kernel_bindings_or_utf8_mode(self): + self.add('Dep.olean',b'\x00\xffproof','external_pinned',pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('BINARY_BINDING',self.codes()) + self.assertNotIn('FILE_ENCODING',self.codes()) + + def test_file_hash_failure_does_not_prevent_violation_detection(self): + self.cleanlean() + (self.root/'Closed.lean').write_text('theorem t : False := by sorry\n') + self.assertTrue({'FILE_HASH','LEAN_PLACEHOLDER'}<=self.codes()) + + def test_nonvacuity_certificate_and_not_run_status_have_positive_binding_cases(self): + e=self.cleanlean() + self.add('witness.json',json.dumps({'type':'nonvacuity_certificate','subject_sha256':e['sha256'], + 'declaration':'t@1','witness_description':'No hypotheses; True witness trivial'})) + e['vacuity']['t@1']={'status':'nonvacuous','reason':'no hypotheses','evidence':self.bind('witness.json')} + self.add('status.json',json.dumps({'schema_version':1,'gate':'G4','observed_status':'NOT_RUN', + 'run_id':'fixture-not-run','command':['fixture','kernel-check'],'exit_code':None, + 'inputs':{'r:Closed.lean':e['sha256']}}),'data',status_evidence=True) + self.assertEqual(self.runaudit()['result'],'STATIC_PASS',self.runaudit()) + + def test_malformed_vacuity_and_status_types_are_explicit_findings(self): + e=self.cleanlean();e['vacuity']['t@1']['status']=[] + self.assertIn('VACUITY_ANNOTATION',self.codes()) + e['vacuity']['t@1']['status']='conditional' + self.add('bad-status.json',json.dumps({'schema_version':1,'gate':[], 'observed_status':[], + 'run_id':'fixture','command':['fixture'],'exit_code':0,'inputs':{'r:Closed.lean':e['sha256']}}), + 'data',status_evidence=True) + self.assertIn('STATUS_EVIDENCE',self.codes()) + + def test_exact_math_cannot_import_a_nonmathematical_fractions_shadow(self): + e=self.add('fractions.py','Fraction=float','engineering_python',module='python:fractions') + self.add('review.json',json.dumps({'type':'nonmathematical_review','source_sha256':e['sha256'], + 'scope':'nonmathematical_execution_only','reviewer':'fixture reviewer','rationale':'nonmath fixture'})) + e['nonmath_review']=self.bind('review.json') + self.add('closed.py','from fractions import Fraction\nx=Fraction(1,2)','math_python',module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP',self.codes()) + + def test_binary_source_language_mismatch_is_a_finding_not_a_crash(self): + self.add('Bad.olean',b'\x00\xffproof','external_pinned',language='lean',module='lean:Bad', + pin={'revision':'a'*40,'origin':'fixture origin'}) + self.assertIn('SOURCE_CLASSIFICATION',self.codes()) + + def test_cli_output_write_failure_has_distinct_nonzero_code(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda:manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + p=subprocess.run([sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest), + '--output',str(self.root/'absent'/'out.json')],capture_output=True,text=True) + self.assertEqual(p.returncode,3,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'OUTPUT_ERROR') + + def test_cli_json_and_nonzero_failures_and_duplicate_json_keys(self): + self.add('readme.txt','ok') + manifest=self.root.parent/(self.root.name+'-manifest.json') + self.addCleanup(lambda: manifest.unlink(missing_ok=True)) + manifest.write_text(json.dumps(self.m)) + cmd=[sys.executable,'-B',str(HERE/'auditor.py'),'audit','--manifest',str(manifest)] + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,0,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'STATIC_PASS') + (self.root/'readme.txt').unlink() + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,1,p.stderr+p.stdout) + self.assertIn('FILE_MISSING',{x['code'] for x in json.loads(p.stdout)['findings']}) + manifest.write_text('{"schema_version":1,"schema_version":1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2,p.stderr+p.stdout) + self.assertEqual(json.loads(p.stdout)['result'],'INPUT_ERROR') + manifest.write_text('{"n":0.1}') + p=subprocess.run(cmd,capture_output=True,text=True) + self.assertEqual(p.returncode,2) + + + + +class NumericDeclarationRules(unittest.TestCase): + """Numerals cannot suppress declaration/vacuity metadata (A6/A7).""" + + def manifest_entry(self, source, vacuity): + directory = tempfile.TemporaryDirectory() + self.addCleanup(directory.cleanup) + root = Path(directory.name) + data = source.encode('utf-8') + (root / 'Closed.lean').write_bytes(data) + return {'schema_version': 1, + 'approved_axioms': ['propext', 'Classical.choice', 'Quot.sound'], + 'roots': [{'id': 'r', 'path': str(root), 'tree_id': 'b' * 40, + 'tracked_files': ['Closed.lean'], + 'files': {'Closed.lean': {'kind': 'project_lean', + 'sha256': sha(data), 'module': 'lean:Closed', + 'vacuity': vacuity}}}], + 'module_map': {'lean:Closed': 'r:Closed.lean'}} + + def test_numeric_spellings_preserve_adjacent_named_declarations(self): + spellings = ['0', '1_000', '0b0', '0B1', '0o0', '0O7', + '0x0a', '0XAB', '1e1', '1E-1', '1.0E+1', '1.0', '1.'] + for numeral in spellings: + for keyword in ['theorem', 'lemma']: + source = 'def n := ' + numeral + keyword + ' hidden (h : False) : True := False.elim h' + with self.subTest(numeral=numeral, keyword=keyword): + result = source_checks.check_lean(source) + self.assertEqual([x['key'] for x in result['declarations']], ['hidden@1']) + self.assertEqual(result['declarations'][0]['contradictions'], + ['explicit false hypothesis: False']) + + def test_numeric_spellings_preserve_adjacent_anonymous_examples(self): + # Hexadecimal maximal munch would consume the 'e' in example. + for numeral in ['0', '0b0', '0o0', '1e1', '1.0E+1']: + with self.subTest(numeral=numeral): + declarations = source_checks.check_lean( + 'def n := ' + numeral + 'example (h : False) : True := False.elim h')['declarations'] + self.assertEqual([x['key'] for x in declarations], ['example@1']) + self.assertEqual(declarations[0]['contradictions'], ['explicit false hypothesis: False']) + + def test_numeric_adjacency_reaches_actual_manifest_vacuity_coverage(self): + source = 'def n := 0theorem hidden (h : False) : True := False.elim h' + report = auditor.audit(self.manifest_entry(source, {})) + self.assertEqual(report['result'], 'FAIL', report) + self.assertIn('VACUITY_COVERAGE', {f['code'] for f in report['findings']}) + + def test_numeric_adjacency_cannot_mask_false_hypothesis_annotations(self): + source = 'def n := 0theorem hidden (h : False) : True := False.elim h' + annotations = {'hidden@1': {'status': 'conditional', 'premises': ['False'], 'reason': 'test boundary'}} + report = auditor.audit(self.manifest_entry(source, annotations)) + self.assertIn('VACUITY_CONTRADICTION', {f['code'] for f in report['findings']}) + report = auditor.audit(self.manifest_entry( + source, {'hidden@1': {'status': 'vacuous', 'reason': 'explicit False hypothesis'}})) + self.assertEqual(report['result'], 'STATIC_PASS', report) + self.assertEqual(len(report['vacuity_observations']), 1) + + def test_numeral_metadata_preserves_spelling_and_locations(self): + source = 'def a := 0b10\n/- gap\n nested -/ def b := 1.0E+1theorem t : True := True.intro' + tokens, gaps = source_checks.lean_tokens(source) + self.assertEqual(gaps, []) + self.assertEqual([(t.text, t.line, t.column) for t in tokens if t.text in {'0b10', '1.0E+1', 'theorem'}], + [('0b10', 1, 9), ('1.0E+1', 3, 20), ('theorem', 3, 26)]) + + def test_identifier_literal_and_character_boundaries_remain_intact(self): + source = 'def name1 := 1\ndef ns.name2\' := 2\ndef «name3» := "0theorem hidden"\ndef c := \'1\'\ntheorem t2\' : True := True.intro' + result = source_checks.check_lean(source) + self.assertEqual(result['findings'], []) + self.assertEqual([x['key'] for x in result['declarations']], ["t2'@5"]) + words = [t.text for t in source_checks.lean_tokens(source)[0]] + self.assertIn('name1', words) + self.assertIn("ns.name2'", words) + self.assertIn('name3', words) + self.assertEqual(words.count(''), 2) + + def test_numeric_hypothesis_tokens_keep_exact_literal_contradictions(self): + declarations = source_checks.check_lean( + 'theorem literalConflict (h : 1 = 2) : True := True.intro')['declarations'] + self.assertEqual(declarations[0]['hypotheses'], ['1 = 2']) + self.assertEqual(declarations[0]['contradictions'], ['incompatible literal equality candidate: 1 = 2']) + + +class ReviewBoundaryRules(unittest.TestCase): + """Original review boundaries; each method targets an actual missing guard.""" + setUp = ManifestRules.setUp + add = ManifestRules.add + bind = ManifestRules.bind + runaudit = ManifestRules.runaudit + codes = ManifestRules.codes + + def engineering(self, path, text, module): + entry = self.add(path, text, 'engineering_python', module='python:' + module) + review_path = path + '.review.json' + self.add(review_path, json.dumps({'type':'nonmathematical_review', + 'source_sha256':entry['sha256'], 'scope':'nonmathematical_execution_only', + 'reviewer':'review-boundary fixture', 'rationale':'explicitly engineering only'})) + entry['nonmath_review'] = self.bind(review_path) + + def test_augmented_division_cannot_certify_float_results(self): + for source in ['x = 1\nx /= 2', 'x = 0\nx /= 1']: + with self.subTest(source=source): + result = source_checks.check_python(source) + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) + + def test_augmented_power_requires_nonnegative_integer_literal(self): + for exponent in ['-1', 'n', 'True', '1.0']: + with self.subTest(exponent=exponent): + result = source_checks.check_python('n = 2\nx = 2\nx **= ' + exponent) + self.assertIn('PY_INEXACT', {f['code'] for f in result['findings']}) + + def test_augmented_exact_controls_and_engineering_profile_remain_valid(self): + exact = 'x = 4\nx += 1\nx -= 1\nx *= 3\nx //= 2\nx %= 3\nx **= 2' + self.assertEqual(source_checks.check_python(exact)['findings'], []) + self.assertEqual(source_checks.check_python('x = 1\nx /= 2\nx **= -1', False)['findings'], []) + + def test_math_from_import_candidate_cannot_acquire_engineering_values(self): + self.add('fractions/__init__.py', '', 'math_python', module='python:fractions') + self.engineering('fractions/Fraction.py', 'numerator = 0.5', 'fractions.Fraction') + self.add('closed.py', 'from fractions import Fraction\nx = Fraction.numerator', + 'math_python', module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP', self.codes()) + + def test_math_import_package_prefix_requires_mathematical_scope(self): + self.engineering('fractions/__init__.py', 'numerator = 0.5', 'fractions') + self.add('fractions/sub.py', 'x = 1', 'math_python', module='python:fractions.sub') + self.add('closed.py', 'from fractions.sub import Fraction', 'math_python', module='python:closed') + self.assertIn('MATH_DEPENDENCY_GAP', self.codes()) + + def test_explicit_null_or_invalid_status_flag_cannot_disable_checks(self): + entry = self.add('status.json', '{"observed_status":"PASS"}', 'data', status_evidence=None) + for invalid in [None, False, 0, '', [], {}]: + with self.subTest(flag=invalid): + entry['status_evidence'] = invalid + self.assertIn('STATUS_EVIDENCE', self.codes()) + + def test_es_modules_cannot_be_reclassified_as_data_or_documentation(self): + for index, kind in enumerate(['data', 'documentation']): + path = 'code' + str(index) + ('.mjs' if index == 0 else '.MJS') + self.add(path, 'export const bound = 0.1;', kind) + findings = [f for f in self.runaudit()['findings'] if f['path'] == path] + self.assertIn('SOURCE_CLASSIFICATION', {f['code'] for f in findings}) + self.assertIn('LANGUAGE_GAP', {f['code'] for f in findings}) + + def test_es_module_text_wrapper_is_still_unsupported_source(self): + self.add('code.mjs.txt', 'export const bound = 0.1;', 'data') + self.assertIn('SOURCE_CLASSIFICATION', self.codes()) + self.assertIn('LANGUAGE_GAP', self.codes()) + + def test_executable_notebooks_cannot_be_reclassified_as_nonsource(self): + notebook = json.dumps({'nbformat':4, 'nbformat_minor':5, 'metadata':{}, 'cells':[ + {'cell_type':'code', 'metadata':{}, 'execution_count':None, 'outputs':[], + 'source':['bound = 0.1\n']}]}) + for path, kind in [('bounds.ipynb', 'data'), ('bounds.IPYNB', 'documentation'), + ('bounds.ipynb.txt', 'data')]: + self.add(path, notebook, kind) + findings = [f for f in self.runaudit()['findings'] if f['path'] == path] + self.assertIn('SOURCE_CLASSIFICATION', {f['code'] for f in findings}) + self.assertIn('LANGUAGE_GAP', {f['code'] for f in findings}) + + +if __name__=='__main__': + unittest.main() diff --git a/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py b/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py new file mode 100644 index 000000000..c32a38d0a --- /dev/null +++ b/cbz/contributions/math514/layer_a/tests/test_mutation_runner.py @@ -0,0 +1,438 @@ +"""The runner must execute source mutants, and cannot infer a kill from broken syntax.""" +import importlib.util +import json +import os +from pathlib import Path +import sys +import tempfile +import unittest + +HERE=Path(__file__).resolve().parents[1] +sys.path.insert(0,str(HERE)) +try: + import mutation_test +except ImportError: + mutation_test=None + + +class MutationHarnessRules(unittest.TestCase): + def setUp(self): + self.assertIsNotNone(mutation_test,'mutation runner implementation is missing') + + def test_unchanged_checker_survives_and_assertion_failure_kills_real_mutant(self): + with tempfile.TemporaryDirectory() as tmp: + out=Path(tmp) + survived=mutation_test.run_one('identity','source_checks.py',lambda s:s,out) + self.assertEqual(survived['outcome'],'SURVIVED',survived) + killed=mutation_test.run_one('drop-placeholders','source_checks.py', + lambda s:s.replace("placeholders = {'sorry', 'admit', 'sorryAx', 'admitGoal', 'mkSorry'}","placeholders = set()"),out) + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertGreater(killed['assertion_failures'],0) + self.assertEqual(killed['errors'],0) + self.assertTrue((out/'drop-placeholders.log').is_file()) + + def test_invalid_checker_syntax_is_invalid_mutant_not_killed(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('broken-syntax','source_checks.py',lambda s:'def :',Path(tmp)) + self.assertEqual(r['outcome'],'INVALID',r) + + def test_mutant_that_only_crashes_is_not_counted_as_behavioral_kill(self): + with tempfile.TemporaryDirectory() as tmp: + r=mutation_test.run_one('crash','source_checks.py',lambda s:'raise RuntimeError("crash")\n'+s,Path(tmp)) + self.assertEqual(r['outcome'],'ERROR',r) + + +class LifecycleHarnessRules(unittest.TestCase): + """Catch false kills from lifecycle assertions and incomplete body execution.""" + + def run_fixture(self, source, transform=None): + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + for name in ('auditor.py','source_checks.py','canonical_lean.py'): + (root/name).write_text('fixture_source = True\n') + (root/'tests/test_auditor.py').write_text(source) + previous=mutation_test.HERE + try: + mutation_test.HERE=root + return mutation_test.run_one('fixture','source_checks.py',transform or (lambda s:s),root/'logs') + finally: + mutation_test.HERE=previous + + def test_body_assertion_kills_and_identity_survives(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body sentinel")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['body_entered_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']) + + def test_setup_teardown_cleanup_assertions_cannot_kill(self): + fixtures=[ + ' def setUp(self): self.fail("setup")\n def test_one(self): pass\n', + ' def setUp(self): self.test_one()\n def test_one(self): self.fail("setup called body")\n', + ' def setUp(self): self._callTestMethod(self.test_one)\n def test_one(self): self.fail("setup called dispatch")\n', + ' def _callTestMethod(self, method): self.fail("dispatch hook")\n def test_one(self): pass\n', + ' def test_one(self): pass\n def tearDown(self): self.fail("teardown")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup")\n', + ' @classmethod\n def setUpClass(cls): raise AssertionError("class setup")\n def test_one(self): pass\n', + ' def test_one(self): pass\n @classmethod\n def tearDownClass(cls): raise AssertionError("class teardown")\n', + ' def test_one(self): self.addClassCleanup(self.fail,"class cleanup")\n', + ' def test_one(self): self.addCleanup(self.fail,"cleanup"); self.fail("body")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_errors_skips_expected_failures_and_subtests_are_ambiguous(self): + fixtures=[ + ' def test_one(self): raise RuntimeError("body error")\n', + ' @unittest.skip("skip")\n def test_one(self): pass\n', + ' @unittest.expectedFailure\n def test_one(self): self.fail("expected")\n', + ' @unittest.expectedFailure\n def test_one(self): pass\n', + ' def setUp(self):\n with self.subTest(x=1): self.fail("setup subtest")\n def test_one(self): pass\n', + ' def test_one(self):\n with self.subTest(x=1): raise RuntimeError("subtest error")\n', + ] + for body in fixtures: + with self.subTest(body=body): + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n'+body) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_body_scoped_subtests_have_exact_parent_assertion_events(self): + passed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): pass\n') + self.assertEqual(passed['outcome'],'SURVIVED',passed) + killed=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n for x in (1,2):\n with self.subTest(x=x): self.fail("subtest body")\n def test_two(self): pass\n') + self.assertEqual(killed['outcome'],'KILLED',killed) + self.assertEqual(killed['tests']['subtests'],2) + self.assertEqual(killed['tests']['body_assertion_ids'],['test_auditor.C.test_one']*2) + self.assertEqual(killed['tests']['body_finished_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + + def test_empty_duplicate_synthetic_and_rewritten_method_ids_are_rejected(self): + fixtures=[ + 'import unittest\ndef load_tests(loader, tests, pattern): return unittest.TestSuite()\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\ndef load_tests(loader, tests, pattern): return unittest.TestSuite([C("test_one"), C("test_one")])\n', + 'raise RuntimeError("import sentinel")\n', + 'import unittest\nclass C(unittest.TestCase):\n def test_one(self): self._outcome.result.addFailure(self,(AssertionError,AssertionError("forged callback"),None))\n', + 'import unittest\nclass C(unittest.TestCase):\n def id(self): return "forged.method"\n def test_one(self): self.fail("body")\n', + ] + for fixture in fixtures: + with self.subTest(fixture=fixture): + value=self.run_fixture(fixture) + self.assertEqual(value['outcome'],'ERROR',value) + + def test_assertion_event_provenance_rejects_duplicate_direct_failures(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n')['tests'] + forged=copy.deepcopy(value);forged['assertion_failures']=2 + forged['body_assertion_ids']=['test_auditor.C.test_one']*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + forged['assertion_events']=[{'id':'test_auditor.C.test_one','source':'direct'}]*2 + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + + def test_expected_population_is_bound_before_mutation(self): + source='import unittest\nimport source_checks\nclass C(unittest.TestCase):\n def test_one(self): pass\n def test_two(self): self.fail("wrong population")\ndef load_tests(loader, tests, pattern):\n return unittest.TestSuite([C("test_one" if source_checks.fixture_source else "test_two")])\n' + result=self.run_fixture(source,lambda s:s.replace('fixture_source = True','fixture_source = False')) + self.assertEqual(result['outcome'],'ERROR',result) + # Canonical declarations are frozen before the unsupported hook. + # Both declared bodies remain required; the hook is never evaluated. + self.assertEqual(result['expected_ids'],['test_auditor.C.test_one','test_auditor.C.test_two']) + self.assertEqual(result['pristine_population']['invalid_population'],['unsupported module load_tests hook: test_auditor']) + self.assertEqual(result['tests'],{}) + + def test_missing_forged_or_noninteger_receipts_fail_closed(self): + import copy + value=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self): self.fail("body")\n') + trusted=value.get('tests',{}) + self.assertEqual(mutation_test.classify_test_result(trusted,1),'KILLED') + self.assertEqual(mutation_test.classify_test_result(trusted,1,expected_ids=['test_auditor.C.test_other']),'ERROR') + duplicate=copy.deepcopy(trusted) + for key in ('selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids'): + duplicate[key]*=2 + duplicate['tests_run']=2;duplicate['assertion_failures']=2 + duplicate['assertion_events']=[{'id':'test_auditor.C.test_one','source':'subtest'}]*2 + duplicate['subtests']=2 + duplicate['subtest_events']=[{'id':'test_auditor.C.test_one','phase':'body','outcome':'assertion'}]*2 + self.assertEqual(mutation_test.classify_test_result(duplicate,1),'ERROR') + for field in ('receipt_schema','selected_ids','started_ids','finished_ids','body_entered_ids','body_finished_ids','body_assertion_ids','invalid_population','subtests','subtest_events','assertion_events','lifecycle_failures'): + with self.subTest(missing=field): + forged=copy.deepcopy(trusted);forged.pop(field,None) + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field in ('tests_run','assertion_failures','errors','skipped','expected_failures','unexpected_successes','lifecycle_failures','subtests'): + with self.subTest(noninteger=field): + forged=copy.deepcopy(trusted);forged[field]=True + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + for field, replacement in [('started_ids',[]),('body_finished_ids',[]),('body_entered_ids',['test_auditor.C.test_one']*2),('body_assertion_ids',['forged.method']),('selected_ids',['test_auditor.C.test_one']*2),('invalid_population',['forged']),('lifecycle_failures',1),('subtests',1),('successful',1)]: + with self.subTest(forged=field): + forged=copy.deepcopy(trusted);forged[field]=replacement + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + subtest=self.run_fixture('import unittest\nclass C(unittest.TestCase):\n def test_one(self):\n with self.subTest(x=1): self.fail("body")\n')['tests'] + for replacement in ({'id':'test_auditor.C.test_one','phase':'cleanup','outcome':'assertion'}, + {'id':'forged.method','phase':'body','outcome':'assertion'}, + {'id':'test_auditor.C.test_one','phase':'body','outcome':'error'}): + with self.subTest(subtest_event=replacement): + forged=copy.deepcopy(subtest);forged['subtest_events']=[replacement] + self.assertEqual(mutation_test.classify_test_result(forged,1),'ERROR') + self.assertEqual(mutation_test.classify_test_result({'tests_run':1,'assertion_failures':1,'errors':0},1),'ERROR') + + +class LazyBodyHarnessRules(unittest.TestCase): + """Lazy call creation cannot satisfy synchronous selected-body execution.""" + + def run_lazy_fixture(self,label,body): + with tempfile.TemporaryDirectory() as temporary: + sentinel=Path(temporary)/'lazy-executed' + ordinary=Path(temporary)/'ordinary-executed' + source=('from pathlib import Path\nimport unittest\nimport functools\n' + +'sentinel=Path('+repr(str(sentinel))+')\n' + +'ordinary=Path('+repr(str(ordinary))+')\n'+body) + value=LifecycleHarnessRules.run_fixture(self,source) + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':source, + 'lazy_sentinel_executed':sentinel.exists(), + 'ordinary_sentinel_executed':ordinary.exists(),'receipt':value} + destination=os.environ.get('CBZ_LAZY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return record + + def test_sync_bodies_require_none_and_refuse_other_returns_without_iteration(self): + passed=self.run_lazy_fixture('ordinary-pass','class C(unittest.TestCase):\n def test_one(self): pass\n') + self.assertEqual(passed['receipt']['outcome'],'SURVIVED',passed) + killed=self.run_lazy_fixture('ordinary-none-kill', + 'class C(unittest.TestCase):\n def test_a_return(self): return None\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(killed['receipt']['outcome'],'KILLED',killed) + for label,expression in [('zero','0'),('false','False'),('empty-string',"''"),('scalar','7')]: + with self.subTest(value=label): + record=self.run_lazy_fixture('return-'+label,'class C(unittest.TestCase):\n' + +' def test_a_return(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + unknown=self.run_lazy_fixture('ordinary-unknown-iterable', + 'class UnknownIterable:\n def __iter__(self):\n sentinel.write_text("iterated")\n yield 1\n' + 'class C(unittest.TestCase):\n def test_a_return(self): return UnknownIterable()\n' + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(unknown['receipt']['outcome'],'ERROR',unknown) + self.assertFalse(unknown['lazy_sentinel_executed'],unknown) + self.assertTrue(unknown['ordinary_sentinel_executed'],unknown) + + def test_mixed_lazy_function_shapes_are_refused_before_any_body(self): + methods=[('generator',' def test_a_lazy(self):\n sentinel.write_text("generator")\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n sentinel.write_text("coroutine")\n'), + ('async-generator',' async def test_a_lazy(self):\n sentinel.write_text("asyncgen")\n yield 1\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('method-'+label,'class C(unittest.TestCase):\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_wraps_decorated_lazy_functions_are_refused_at_population(self): + decorator=('def transparent(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("wrapper executed")\n return fn(*args,**kwargs)\n return wrapper\n' + 'def lazy_middle(fn):\n @functools.wraps(fn)\n def wrapper(*args,**kwargs):\n' + ' sentinel.write_text("middle executed")\n yield fn(*args,**kwargs)\n return wrapper\n') + methods=[('generator',' def test_a_lazy(self):\n yield 1\n'), + ('coroutine',' async def test_a_lazy(self):\n return None\n'), + ('async-generator',' async def test_a_lazy(self):\n yield 1\n'), + ('lazy-middle',' @lazy_middle\n def test_a_lazy(self): pass\n')] + for label,method in methods: + with self.subTest(shape=label): + record=self.run_lazy_fixture('wrapped-'+label,decorator+'class C(unittest.TestCase):\n @transparent\n'+method+ + ' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertFalse(record['ordinary_sentinel_executed'],record) + self.assertEqual(record['receipt']['pristine_population']['invalid_population'],['test_auditor.C.test_a_lazy']) + + def test_sync_lazy_returns_are_rejected_without_advancing_objects(self): + returns=[('generator','def make_lazy():\n sentinel.write_text("generator")\n yield 1\n','make_lazy()'), + ('coroutine','async def make_lazy():\n sentinel.write_text("coroutine")\n','make_lazy()'), + ('async-generator','async def make_lazy():\n sentinel.write_text("asyncgen")\n yield 1\n','make_lazy()'), + ('custom-awaitable','class CustomAwaitable:\n def __await__(self):\n sentinel.write_text("awaited")\n yield 1\n def close(self): sentinel.write_text("custom close")\n','CustomAwaitable()')] + for label,definitions,expression in returns: + with self.subTest(shape=label): + record=self.run_lazy_fixture('return-'+label,definitions+'class C(unittest.TestCase):\n' + +' def test_a_lazy(self): return '+expression+'\n' + +' def test_b_assertion(self):\n ordinary.write_text("body")\n self.fail("ordinary body assertion")\n') + self.assertEqual(record['receipt']['outcome'],'ERROR',record) + self.assertFalse(record['lazy_sentinel_executed'],record) + self.assertTrue(record['ordinary_sentinel_executed'],record) + self.assertTrue(record['receipt']['tests']['invalid_population'],record) + + +import os +import shutil +import subprocess + +class IdentityHarnessRules(unittest.TestCase): + """Real ordinary-body controls for loader and in-process identity binding.""" + + def run_identity_fixture(self, label, source, selectors=()): + import hashlib + with tempfile.TemporaryDirectory() as temporary: + root=Path(temporary);(root/'tests').mkdir() + runner=root/'mutation_test.py' + shutil.copy2(HERE/'mutation_test.py',runner) + events=root/'events' + header=('import unittest\nfrom pathlib import Path\n' + +'def record(label):\n with Path('+repr(str(events))+').open("a") as out: out.write(label+"\\n")\n') + fixture=root/'tests'/'test_auditor.py' + fixture.write_text(header+source) + output=root/'receipt.json' + command=[sys.executable,'-B','-S',str(runner),*['--internal-test-runner','--test-root',str(root/'tests')],'--output',str(output)] + for selector in selectors:command.extend(['--test',selector]) + p=subprocess.run(command,capture_output=True,text=True,timeout=15) + self.assertTrue(output.exists(),p.stderr) + value=json.loads(output.read_text()) + outcome=mutation_test.classify_test_result(value,p.returncode) + observed=events.read_text().splitlines() if events.exists() else [] + record={'label':label,'optimize':sys.flags.optimize,'fixture_source':header+source, + 'fixture_sha256':hashlib.sha256(fixture.read_bytes()).hexdigest(), + 'command':command,'exit_code':p.returncode,'outcome':outcome, + 'events':observed,'receipt':value,'stdout':p.stdout,'stderr':p.stderr} + destination=os.environ.get('CBZ_IDENTITY_CONTROL_EVIDENCE') + if destination: + out=Path(destination);out.mkdir(parents=True,exist_ok=True) + (out/(label+'.json')).write_text(json.dumps(record,sort_keys=True,indent=2)+'\n') + return outcome,value,observed + + def test_module_alias_subclass_and_population_hooks_refused_before_execution(self): + base=('class C(unittest.TestCase):\n' + +' def test_first(self): record("first")\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + hooks=[('alias','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('alias-assertion','def load_tests(loader, tests, pattern):\n record("hook")\n C.test_second=C.test_first\n return tests\n'), + ('subclass','def load_tests(loader, tests, pattern):\n record("hook")\n def replacement(self): record("replacement")\n R=type("C",(C,),{"test_first":replacement,"test_second":replacement,"__module__":__name__,"__qualname__":"C"})\n globals()["C"]=R\n return loader.loadTestsFromTestCase(R)\n'), + ('omission','def load_tests(loader, tests, pattern):\n record("hook")\n return unittest.TestSuite([C("test_first")])\n')] + for label,hook in hooks: + with self.subTest(shape=label): + source=base+hook + if label=='alias-assertion':source=source.replace('def test_first(self): record("first")','def test_first(self):\n record("first")\n self.fail("first body assertion")') + outcome,value,events=self.run_identity_fixture('hook-'+label,source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + source=('class Hidden(unittest.TestCase):\n def test_hidden(self):\n record("hidden")\n self.fail("hidden body retained")\n' + +'class Visible(unittest.TestCase):\n def test_visible(self): record("visible")\n' + +'def __dir__():\n record("module-dir")\n return ["Visible"]\n') + outcome,value,events=self.run_identity_fixture('module-dir-cannot-hide',source) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['hidden','visible'],value) + self.assertEqual(len(value['selected_ids']),2,value) + + def test_named_class_and_method_selection_preserve_exact_population(self): + source='class C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self): record("second")\n' + for label,selectors,wanted in [('class',('test_auditor.C',),['first','second']), + ('method',('test_auditor.C.test_second',),['second'])]: + with self.subTest(selector=label): + outcome,value,events=self.run_identity_fixture('named-'+label,source,selectors) + self.assertEqual(outcome,'SURVIVED',value) + self.assertEqual(events,wanted,value) + outcome,value,events=self.run_identity_fixture('named-assertion',source.replace('record("first")','record("first"); self.fail("body")'),('test_auditor.C',)) + self.assertEqual(outcome,'KILLED',value) + self.assertEqual(events,['first','second'],value) + + def test_callable_factory_selector_is_refused_before_factory_or_body(self): + source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'def factory():\n record("factory")\n return unittest.TestSuite([C("test_one")])\n') + outcome,value,events=self.run_identity_fixture('callable-factory',source,('test_auditor.factory',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + proxy_source=('class C(unittest.TestCase):\n def test_one(self): record("body")\n' + +'class Proxy:\n def __getattr__(self,name):\n record("proxy")\n return C\nproxy=Proxy()\n') + outcome,value,events=self.run_identity_fixture('selector-proxy',proxy_source,('test_auditor.proxy.C.test_one',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + constructor_fixtures=[ + ('init','class C(unittest.TestCase):\n def __init__(self,*a,**k):\n record("constructor")\n super().__init__(*a,**k)\n type(self).test_second=type(self).test_first\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n'), + ('new','class C(unittest.TestCase):\n def __new__(cls,*a,**k):\n record("constructor")\n return super().__new__(cls)\n def test_one(self): record("body")\n'), + ('metaclass','class Meta(type):\n def __call__(cls,*a,**k):\n record("metaclass")\n return super().__call__(*a,**k)\nclass C(unittest.TestCase,metaclass=Meta):\n def test_one(self): record("body")\n'), + ('getattribute','class C(unittest.TestCase):\n def __getattribute__(self,name):\n record("attribute")\n return super().__getattribute__(name)\n def test_one(self): record("body")\n'), + ('setattr','class C(unittest.TestCase):\n def __setattr__(self,name,value):\n record("attribute")\n return super().__setattr__(name,value)\n def test_one(self): record("body")\n'), + ] + constructor_fixtures.append(('descriptor','class Descriptor:\n def __init__(self,original): self.original=original\n def __get__(self,instance,owner):\n record("descriptor")\n owner.test_second=owner.test_first\n return owner.test_first\nclass C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n test_second=Descriptor(test_second)\n')) + for kind in ('staticmethod','classmethod'): + constructor_fixtures.append(('descriptor-'+kind,'class Alias('+kind+'):\n def __get__(self,instance,owner):\n record("descriptor-subclass")\n owner.test_second=owner.test_first\n return owner.test_first.__get__(instance,owner)\nclass C(unittest.TestCase):\n def test_first(self): record("first")\n def test_second(self):\n record("second")\n self.fail("retained second body")\n test_second=Alias(test_second)\n')) + constructor_fixtures.append(('special-descriptor','class InitDescriptor:\n def __get__(self,instance,owner):\n record("special-descriptor")\n owner.__init__=unittest.TestCase.__init__\n return owner.__init__.__get__(instance,owner)\nclass C(unittest.TestCase):\n __init__=InitDescriptor()\n def test_one(self): record("body")\n')) + for label,source in constructor_fixtures: + for selection in [(),('test_auditor.C',),('test_auditor.C.'+('test_first' if label=='init' else 'test_second' if label.startswith('descriptor') else 'test_one'),)]: + with self.subTest(constructor=label,selector=selection): + outcome,value,events=self.run_identity_fixture('construction-'+label+'-'+str(len(selection))+'-'+('method' if selection and selection[0].count('.')==2 else 'class'),source,selection) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + helper_source=('class Alias(staticmethod):\n def __get__(self,instance,owner):\n record("helper-descriptor")\n return owner.test_one.__get__(instance,owner)\n' + +'class C(unittest.TestCase):\n def test_one(self): record("test")\n def helper(self):\n record("retained-helper")\n self.fail("original helper body")\n helper=Alias(helper)\n') + outcome,value,events=self.run_identity_fixture('selector-helper-descriptor',helper_source,('test_auditor.C.helper',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_class_fixture_function_and_code_substitutions_are_refused(self): + base=('def replacement(self): record("replacement")\n' + +'class C(unittest.TestCase):\n' + +' @classmethod\n def setUpClass(cls):\n record("class-setup")\n CHANGE\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + for label,change in [('function','cls.test_one=replacement'),('code','cls.test_one.__code__=replacement.__code__'), + ('same-code-function','cls.test_one=__import__("types").FunctionType(cls.test_one.__code__,cls.test_one.__globals__)')]: + with self.subTest(change=label): + outcome,value,events=self.run_identity_fixture('class-fixture-'+label,base.replace('CHANGE',change)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['class-setup'],value) + self.assertTrue(value['invalid_population'],value) + + source=('class C(unittest.TestCase):\n' + +' def setUp(self):\n record("setup")\n self.__class__=type("C",(type(self),),{"__module__":__name__,"__qualname__":"C"})\n' + +' def test_one(self):\n record("original")\n self.fail("original body retained")\n') + outcome,value,events=self.run_identity_fixture('instance-class-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['setup'],value) + self.assertTrue(value['invalid_population'],value) + + def test_postload_substitution_refused_before_any_fixture(self): + spec=importlib.util.spec_from_file_location('identity_runtime_probe',HERE/'mutation_test.py') + runtime=importlib.util.module_from_spec(spec);spec.loader.exec_module(runtime) + events=[] + class Case(unittest.TestCase): + @classmethod + def setUpClass(cls):events.append('class-setup') + def setUp(self):events.append('setup') + def test_one(self):events.append('original') + loader=runtime.IdentityLoader();suite=loader.loadTestsFromTestCase(Case) + def replacement(self):events.append('replacement') + Case.test_one=replacement + value=runtime.execute_test_suite(suite,loader.bindings,loader.invalid) + self.assertTrue(value['invalid_population'],value) + self.assertEqual(events,[],value) + self.assertEqual(value['tests_run'],0,value) + + def test_custom_testcase_run_is_refused_before_execution(self): + source=('class C(unittest.TestCase):\n' + +' def run(self,result=None):\n record("custom-run")\n return super().run(result)\n' + +' def test_one(self): record("body")\n') + outcome,value,events=self.run_identity_fixture('custom-run',source,('test_auditor.C',)) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,[],value) + self.assertTrue(value['invalid_population'],value) + + def test_identity_change_during_body_is_not_a_clean_kill(self): + source=('class C(unittest.TestCase):\n' + +' def test_first(self):\n record("first")\n type(self).test_second=type(self).test_first\n' + +' def test_second(self):\n record("second")\n self.fail("retained second body")\n') + outcome,value,events=self.run_identity_fixture('during-body-change',source) + self.assertEqual(outcome,'ERROR',value) + self.assertEqual(events,['first'],value) + self.assertTrue(value['invalid_population'],value) + +if __name__=='__main__': + unittest.main()